CLI интерфейс для Laravel Artisan

Хочу представить composer-пакет для Laravel, возможно кому-то придётся по душе.

Суть проще показать, чем объяснять.

image

Кого заинтересовало — прошу под кат.

А зачем?


А почему бы и нет? Я, например, пришёл к этой мысли после того как в очередной раз забыл как правильно — «make: migration» или «migration: make» или может совсем какое-то «create: migration». Вот ей богу, каждые несколько дней приходится создавать эти миграции, а я всё равно не всегда помню название команд! А уж о каких-нибудь «config: clear», которые используются крайне редко — так вообще молчу.

Это раз. А два — мне всегда нравились консольные интерфейсы. Есть в них что-то эдакое. Поэтому решил совместить приятное с полезным.

А какие команды поддерживаются?


Абсолютно все, которые работают через стандартный artisan, потому как я использую те же классы что и он. Ну, это в теории :) На практике пока проблем не встречал, но уверен что более широкая аудитория с чем-то да столкнётся.

tbwxqkg2ixdq4pwx8y0nwlqdgjs.jpeg
Кастомные команды в моём проекте

А я не люблю синюю консоль


No problem, цвета и размеры настраиваются в файле config/artisanui.php. Главное не забудьте сделать config: cache после изменений.

Уговорил, как попробовать?


Да вот тут github.com/VladReshet/ArtisanUI, собственно, всё написано. Поставил пакет, добавил сервис провайдер в config/app.php, запаблишил его — готово, можно пробовать. Есть правда небольшая проблема с композером — если у вас в composer.json указано minimal-stability: stable, то ничего не получится, так как временно я использую нестабильную версию нужной мне зависимости.

А что под капотом?


А под капотом вот эта прелесть github.com/php-school/cli-menu. Надеюсь авторы найдут время допилить следующий релиз.

А на сколько стабильно?


На «свежем» laravel, только установленном — проверял все пункты стандартного artisan, всё работает. Со зрелыми проектами — ну, должно работать, а там, если что, issues на гитхабе всё покажут) В любом случае это решение скорее для локальной разработки, чем для использования в продакшн.

Ну и ещё несколько скриншотов напоследок:

q2p8a5dd0mk6ygxrdvv7d5a7ym4.png

tfmnwqdjsfadhwrohzbx4oygpzs.jpeg

Комментарии, конструктивные замечания, рекомендации — приветствуются. Даже если никто не заинтересуется — это был интересный процесс скрещивания ежа с ужом копания в исходниках Laravel:)

© Habrahabr.ru