Rev 52 | Rev 64 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 52 | Rev 57 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | <?php
|
1 | <?php
|
2 | 2 | ||
3 | namespace PointedEars\PHPX; |
3 | namespace PointedEars\PHPX; |
4 | 4 | ||
- | 5 | if (!defined('DIRECTORY_SEPARATOR')) |
|
- | 6 | {
|
|
- | 7 | define('DIRECTORY_SEPARATOR', '/'); |
|
- | 8 | }
|
|
- | 9 | ||
5 | function autoload ($class) |
10 | function autoload ($class) |
6 | {
|
11 | {
|
7 | if (\strpos($class, '..')) |
12 | if (\strpos($class, '..') !== false) |
8 | {
|
13 | {
|
9 | throw new \InvalidArgumentException( |
14 | throw new \InvalidArgumentException( |
10 | 'Refusing to load unsafe class ' . $class); |
15 | "Refusing to load unsafe class '{$class}'"); |
11 | }
|
16 | }
|
12 | 17 | ||
13 | require_once \preg_replace('#\\\#', '/', |
18 | require_once \str_replace('\\', DIRECTORY_SEPARATOR, |
- | 19 | \preg_replace( |
|
14 | \preg_replace('#^' . \preg_quote(__NAMESPACE__) .'#', __DIR__, $class) |
20 | '#^' . \preg_quote(__NAMESPACE__, '#') .'#', |
- | 21 | __DIR__,
|
|
- | 22 | $class
|
|
- | 23 | )
|
|
15 | ) . '.php'; |
24 | ) . '.php'; |
16 | }
|
25 | }
|
17 | 26 | ||
18 | \spl_autoload_register(__NAMESPACE__ . '\\autoload'); |
27 | \spl_autoload_register(__NAMESPACE__ . '\\autoload'); |
19 | 28 |