Composer Require, а затем Inject service в Laravel App, не выходя из командной строки laravel

Итак, я делаю команду ремесленников Laravel. В этой команде я запускаю ‘composer require’ для пакета. Я пытаюсь найти способ использовать тот пакет, который мне нужен, не выходя из текущей команды, в которой я нахожусь.

Я думал о временном добавлении Пространства имен в Laravel, как это происходит при автоматической загрузке файлов.

Итак, мой первый вопрос: как мне использовать этот код ниже внутри Artisan Command? Поскольку приложение не доступно автоматически внутри команды ремесленника.

include_once __DIR__ .'/../vendor/....';

$this->app->make('My\Namespace');

Мой второй вопрос Предполагая, что приведенный выше код работает должным образом внутри команды Artisan, это нестабильно? Должен ли я просто сделать вторую команду ремесленника после того, как композитор потребует?

Любой совет будет принят во внимание.

0

Решение

Чтобы ответить на ваш первый вопрос, у композитора есть свой API делать вещи вручную, что делает под капотом.

Вы можете запросить пакет, затем добавить новое использование Class fo в API классов, используя путь поставщика, и сбросить автозагрузки в вашей команде.

Во-вторых, я предлагаю назначить 2 команды, каждая из которых отвечает за выполнение только одной задачи. Первый для установки и обработки ошибок установки, второй для его использования.

И последнее, но главное: это нетрадиционный способ требовать пакет. Потому что в основном пакеты требуются один раз и затем могут быть обновлены / удалены в проекте. Таким образом, вы можете установить пакет вручную один раз, а затем запустить команду, чтобы избежать беспокойства при установке пакета с помощью команды.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]