这是一个更具有美学价值的问题...作曲家的命名空间自动加载问题
我在现有项目中使用了composer.phar来自动加载我的类。
这是composer.json
为我的项目命名为阿克米一个例子片段:
{
"autoload": {
"psr-0": {
"Acme\\Mail": "modules/mail/src/",
}
}
}
和我的文件结构的标准杆是这样的:
app.php
composer.phar
vendor/
modules/
mail/
src/
Acme/
Mail.php (contains Acme\Mail\Mail.php)
我要坚持到文件夹“模块/邮件”在我的情况下,不能重命名。
基本上这个工作,但我必须创建一个额外的文件夹下面Acme
这src
是有点难看。
必须怎样自动加载定义,如果我要离开了最高的命名空间部分Acme
在我的邮件文件夹,所以它看起来是这样的:
app.php
composer.phar
vendor/
modules/
mail/
src/
Mail.php (contains Acme\Mail\Mail.php)
,我仍然能在PHP中使用它像文件:
use Acme\Mail;
$mail = new Mail();
或者这不可能?
您应该阅读PSR-0标准文档https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md – AdrienBrault