简介
Aura自动加载包为PHP 5.3+提供了与PSR-0的SPL自动加载器兼容的实现。
路径包含方式
创建Loader的实例并且使用SPL注册。
<?php $loader = require '/path/to/aura.autoloader/scripts/instance.php'; $loader->register();
现在,Loader会在包含路径中查找兼容PSR-0的类名,如果没有找到将会抛出一个Exception_NotFound异常。
类前缀方式
你可以告诉Loader在指定的路径中查找指定前缀(类名)的类。前缀既可以是老式的PEAR风格,也可以是新式的PHP5.3中的名字空间。
<?php // look for all Vendor_* classes in this path: $loader->addPrefix('Vendor_', '/path/to/zf/lib/Zend'); // look for vendor\package classes in this path: $loader->addPrefix('vendor\package\\', '/path/to/vendor.package/src'); // additionally, e.g. in testing modes, also look for vendor\package // classes in this path as well: $loader->addPrefix('vendor\package\\', '/path/to/vendor.package/tests');
(注意:在名字空间的末尾,你应该使用双反斜线,而不是单反斜线。)
如果Loader在明确给出的路径中没有找到指定前缀的类,就会到包含路径中查找。
精确类方式
你可以使用addClass()方法告诉Loader指定类的位置。
<?php // look for the VendorClassName at this location: $loader->addClass('VendorClassName', '/path/to/VendorClassName.php');
这种方法构建了从类名到类文件的映射,查找相对较快。