我要做的是:安装PSR-0自动加载,但是composer正在生成PSR-4自动加载程序文件。
我正在使用的:
1) Laravel 4.2
2)作曲家版本e77435cd0c984e2031d915a6b42648e7b284dd5c 2014-07-02 15:44:54
My composer.json:
"autoload": {
"classmap": [
"app/commands",
"app/controllers",
"app/models",
"app/database/migrations",
"app/database/seeds",
"app/tests/TestCase.php",
"app/libraries"
],
"files": [
"app/libraries/custom_helpers.php"
],
"psr-0":{
"MyApp":"app/"
}
}
//rest of the file is omitted之后,如果我在终端中运行composer dump-autoload,它应该在
vendor/composer目录名为autoload_psr0.php
相反,它生成一个autolooad_psr4.php,如下所示:
$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);
return array(
'Monolog\\' => array($vendorDir . '/monolog/monolog/src/Monolog'),
);从作曲家文档中我了解到psr-0仍然是受支持的。
这是否是由于需要PSR-4命名空间的Monolog包造成的呢?
发布于 2014-07-20 20:07:26
实际上,laravel并没有为psr0标准创建一个单独的配置。实际上,在默认情况下,它有一个autoload_real.php文件,它引用一个ClassLoader类并检查psr-0。这些文件可以在供应商/作曲家目录中找到。
https://stackoverflow.com/questions/24853903
复制相似问题