Проблемы с автозагрузкой пространства имен в композиторе

Это больше косметический вопрос...

Я использую composer.phar в существующем проекте для автоматической загрузки своих классов.

Это пример фрагмента composer.json для моего проекта под названием Acme:

{
    "autoload": {
         "psr-0": {
            "Acme\\Mail": "modules/mail/src/",
         }
    }
}

и часть моей файловой структуры выглядит так:

app.php
composer.phar
vendor/
modules/
    mail/
        src/
            Acme/
                Mail.php (contains Acme\Mail\Mail.php)

В моем случае я должен придерживаться папки «modules/mail» и не могу их переименовать.

В основном это работает, но мне нужно создать дополнительную папку 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();

Или это невозможно?


person acme    schedule 14.09.2012    source источник
comment
Вам следует прочитать стандартный документ PSR-0 github .com/php-fig/fig-standards/blob/master/accepted/PSR-0.md   -  person AdrienBrault    schedule 16.09.2012


Ответы (2)



Вы можете использовать генерацию classmap, если вы не хотите следовать стандарту PSR-0 (что вам действительно следует пересмотреть). См. ссылку на http://getcomposer.org/doc/04-schema.md#autoload

person Clarence    schedule 16.09.2012