我想使用 PSR-0 标准方式来自动加载类而无需添加包含,例如如何用自动加载机制替换下面的代码:
namespace Example;
use MyLib\Controller;
include_once './library/MyLib/Controller/AbstractController.php';
class MyController extends Controller\AbstractController {
[...]
所以在上面的例子中,它表明在每个 Controller 中我都需要包含抽象 Controller ,这太疯狂了......
我在这里找到了 PSR-0 代码:
https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md
https://gist.github.com/221634
但我不知道我需要如何在我的应用程序中实现它。
最佳答案
您需要在应用程序的第一个脚本中包含(包含/要求语句)带有自动加载器代码的文件
如果您像@Skpd 所说的那样选择使用 Composer 的自动加载器,那么您应该在第一个 PHP 脚本的顶部有这样的代码。
include_once __DIR__ . '/composer_autoloader.php'
$loader = new \Composer\Autoload\ClassLoader();
$loader->add('MyLib', __DIR__.'/library/');
$loader->register();
如果您决定使用 Composer 作为您的供应商经理,那么将您的自定义命名空间添加到您的
composer.json
并包含 vendor/autoload.php
关于PHP 5.3 自动加载器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13441564/