Ответ 1
Это на самом деле очень просто. Правильный подход - исключение каталога поставщиков из вашего репозитория. Ваш код должен храниться в отдельном месте (например, src).
Используйте свойство autoload, чтобы этот композитор распознал ваши пространства имен:
{
"autoload": {
"psr-4": {
"Acme\\": "src/"
}
}
}
Предполагая, что у вас есть имена классов, следующие по стандарту psr-4, он должен работать. Ниже приведен пример примеров имен классов и их местоположений в файловой системе:
- Acme\Command\HelloCommand → src/Command/HelloCommand.php
- Acme\Form\Type\EmployeeType → src/Form/Type/EmployeeType.php
Не забудьте определить пространство имен для каждого класса. Вот пример Acme\Command\HelloCommand:
<?php
namespace Acme\Command;
class HelloCommand
{
}
Не забудьте включить автозагрузчик в свои PHP-контроллеры:
<?php
require 'vendor/autoload.php';
Подробнее о Стандарт PSR-4 в группе взаимодействия PHP Framework.
Обратите внимание: если вы редактируете composer.json
, вам нужно либо запустить установку, обновление, либо dump-autoload, чтобы обновить пути класса автозагрузчика,