2013-07-18 3 views
2

Я добавил свой собственный репозиторий в Composer, он правильно загрузится в другой проект. К сожалению, Composer не принимает во внимание мой код репозитория при обновлении автозагрузки.Автозагрузка классов из моего личного репозитория, включенного в состав Composer

autoload_namespaces.php имеет много созданных пространств имен, но любой из них является моим кодом репозитория. Я мог бы добавить пространства имен в моем "autoloading" разделе в composer.json, или я мог бы также добавить его в PHP с помощью объекта Autoloader9287463497853476, но эти решения (идеологически равные) меня не интересуют.

Как я могу заставить свой Composer генерировать автозагрузку для моего кода репозитория?

ответ

3

Если вы добавите пакет, используя раздел composer.json репозитория, я бы sugest Вас включить там код автозагрузку, так как я использовал здесь:

"repositories": [ 
{ 
     { 
      "type": "package", 
      "package": { 
       "name": "brand/name", 
       "type": "library", 
       "version": "1.0.0", 
       "dist": { 
        "url": "file:///path-to-file.zip", 
        "type": "zip", 
        "reference": "XXXX" 
       }, 
       "autoload": {"psr-0": { "Name\\Space\\": "dest-folder" } 
      }, 
     }    
} 

Я надеюсь, что это помогает.

+0

так что путь к папке dest должен быть абсолютным? не можете использовать относительный из пакета? –

+0

На самом деле вы можете заменить файл: ///path-to-file.zip на ../../reldir/path-to-file.zip. Согласно документам композитора: https://getcomposer.org/doc/05-repositories.md#path –

Смежные вопросы