霜冻 / 自动加载器
自动加载器。
v1.0.3
2019-12-09 07:21 UTC
Requires
- php: >=5.4.16
Requires (Dev)
- phpunit/phpunit: ^4.8.36
This package is not auto-updated.
Last update: 2024-09-29 12:31:24 UTC
README
注册路径
注册路径为自动加载路径
假设以下目录结构
__DOC_ROOT__
|- common
| `- classes
| `- Util
| `- String
| |- StringUtil.php (\Util\String\StringUtil)
| `- StringSearch.php (\Util\String_StringSearch)
`- core
`- Input
|- InputValidator.php
`- InputFilter.php
※ 注意:StringSearch 类有下划线(想象一下公司里的某个老员工创建的。)
要自动加载字符串实用工具
use frostbane\autoloader\Psr0;
use String\StringUtil;
use String\String_StringSearch;
$loader = Psr0::instance();
$loader->registerPath(__DOC_ROOT__ . "/common/classes");
// StringUtil will automatically be loaded
$strUtil = new StringUtil();
// StringSearch will automatically be loaded
$strSearch = new String_StringSearch();
假设以下目录结构
__DOC_ROOT__
|- common
| `- classes
| `- Util
| `- String
| |- StringUtil.php
| `- StringSearch.php
`- core
`- Input
|- InputValidator.php (\Framework\Validation\Input\InputValidator)
`- InputFilter.php (\Framework\Validation\Input_InputFilter)
注册路径 __DOC_ROOT_/core
不会自动加载验证类,因为它有前缀命名空间。
※ 再次注意:InputFilter 类有下划线(嘿,老兄,欢迎来到21世纪!)
要使用前缀命名空间注册它们
use frostbane\autoloader\Psr0;
use Framework\Validation\Input\InputValidator;
use Framework\Validation\Input_InputFilter;
$loader = Psr0::instance();
$loader->registerNamespacePath("\\Framework\\Validation", __DOC_ROOT__ . "/core");
// InputValidator will automatically be loaded
$validator = new InputValidator();
// InputFilter will automatically be loaded
$filter = new Input_InputFilter();
注册多个路径
存在一些重载来使代码更易于阅读。
use frostbane\autoloader\Psr0;
$loader = Psr0::instance();
$loader->registerPath(array(__DOC_ROOT__ . "/common/classes",
__DOC_ROOT__ . "/some/other/path",
__DIR__ . "/../another/path"));
和
use frostbane\autoloader\Psr0;
$loader = Psr0::instance();
$loader->registerNamespacePath(array("\\some\\namespace" => __DOC_ROOT__ . "/common/classes",
"\\some\\other\\namespace" => __DOC_ROOT__ . "/some/other/path",
"\\another\\namespace" => __DIR__ . "/../another/path"));
调试
如果你迷路了,找到一本圣经(也许吧。)
使用以下方法获取已注册的路径
use frostbane\autoloader\Psr0;
$loader = Psr0::instance();
$registeredPaths = $loader->getPaths();
开发
分支它!搅拌它!随便什么。
使用以下方法运行测试
$ ./vendor/bin/phpunit