我想使用 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/

10-12 13:08