- $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);
来源: http://www.bubuko.com/infodetail-1862171.html