Composer Require, затем Inject service в Laravel App, не выходя из командной строки laravel - PullRequest
0 голосов
/ 11 февраля 2019

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

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

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

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

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

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

Любой совет будет оценен.

1 Ответ

0 голосов
/ 11 февраля 2019

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

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

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

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

...