在3.2中,基本上无需手动加载类库文件,你可以很方便的完成自动加载。
系统可以通过类的命名空间自动定位到类库文件,例如:
我们定义了一个类 \Org\Util\Auth
类:
namespace Org\Util;class Auth {}
保存到 ThinkPHP/Library/Org/Util/Auth.class.php
。
接下来,我们就可以直接实例化了。
new \Org\Util\Auth();
在实例化\Org\Util\Auth
类的时候,系统会自动加载 ThinkPHP/Library/Org/Util/Auth.class.php
文件。
框架的Library目录下面的命名空间都可以自动识别和定位,例如:
├─Library 框架类库目录 │ ├─Think 核心Think类库包目录 │ ├─Org Org类库包目录 │ ├─ ... 更多类库目录
Library目录下面的子目录都是一个根命名空间,也就是说以Think、Org为根命名空间的类都可以自动加载:
new \Think\Cache\Driver\File(); new \Org\Util\Auth(); new \Org\Io\File();
都可以自动加载对应的类库文件。
你可以在Library目录下面任意增加新的目录,就会自动注册成为一个新的根命名空间。