2017-01-16 2 views
2

Я хотел спросить, есть ли способ автозагрузки пакета ТОЛЬКО, если условие выполнено, некоторые из загружаемых нами пакетов используются только для отладки или ведения журнала, что не является всегда необходимо, удаляя их из моего composer.json, освобожденного около 1 МБ памяти, так что есть способ установить, что мой autoload.php требует только эти пакеты, если выполняется определенное условие.Композитор автоматически загружает пакет, если выполнено условие.

Я знаю, что могу редактировать autoload_files.php, но все мои изменения будут потеряны всякий раз, когда я запускаю composer update или другие команды композитора.

Итак, каков правильный способ сделать это?

ответ

2

Не уверен, что это ваш прецедент, но у вас есть возможность выбрать, какие пакеты нужны только в разработке (таким образом, не в производстве): require-dev.

В основном, если вам нужен пакет, который будет использоваться только в среде dev (например, отладчик), вы добавляете его с composer require --dev <package>.

Надеюсь, что вам поможет.

+0

«некоторые из пакетов, которые я загружаю, используются только для отладки или регистрации» - похоже, что это точный правильный аргумент для требований разработчика. (Возможно, не в журнале, вы бы хотели этого в prod.Но уровень мог меняться) –

+0

Неплохо, моя цель состоит в том, чтобы определенные пакеты загружались только, если я зарегистрирован как администратор, например, эти пакеты будут выводить информацию об отладке на протяжении всего моего сценарий, они потребляют около 1 МБ за запрос, который совершенно не нужен никому, кроме администратора. –

+0

Я вижу. Таким образом, состояние вашего приложения будет определять, какой пакет загрузить. Я не уверен, как работает автозагрузка php, но лучше всего использовать автоматический автозагрузчик вместо Composer. – Elhebert

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