霜冻/自动加载器

自动加载器。

安装数: 5,741

依赖者: 0

建议者: 0

安全: 0

类型:软件包

v1.0.3 2019-12-09 07:21 UTC

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