首页 > 代码库 > TP框架自动加载优先级

TP框架自动加载优先级

$map = array(Think\Log=>THINK_PATH.Think\Log.php,Org\Util\Array=>THINK_PATH.Org\Util\Array.php);
Think\Think::addMap($map);

 

 

以Test\MyClass类为例,自动加载的优先顺序如下:

1.在alias.php中或者addMap方法中判断是否注册了

Test\MyClass类映射,如果有则自动加载类库映射定义的文件;

2.判断是否存在Library/Test目录,有则以该目录为初始目录加载;

3.判断是否有注册Test根命名空间,有则以注册的目录为初始目录加载;

4.如果以上都不成立,则以Test为模块进行初始目录加载;

 

关于自动加载

1.在library目录下面任意增加新目录=自动注册成一个新的根命名空间。

2.注册新的根命名空间。

AUTOLOAD_NAMESPACE => array(
    My     => THINK_PATH.My,
    One    => THINK_PATH.One,
)
new My\Net\IpLocation();

new One\Util\Log();

3.类库映射。 addMap方法和alias.ph配置文件。

$map = array(Think\Log=>THINK_PATH.Think\Log.php,Org\Util\Array=>THINK_PATH.Org\Util\Array.php);
Think\Think::addMap($map);

 

TP框架自动加载优先级