Advanced

Команды

Для выбора соответствующего пункта необходимо использовать клавишу пробел.

Установка

Команда для установки пакета MoonShine в ваш проект Laravel:

php artisan moonshine:install
php artisan moonshine:install

Доступные опции:

  • -u, --without-user - без создания супер-пользователя;
  • -m, --without-migrations - без выполнения миграций.

Для более подробной информации обратитесь к разделу Установка.

Apply

Команда для создания класса apply:

php artisan moonshine:apply
php artisan moonshine:apply

После выполнения команды в директории app/MoonShine/Applies будет создан файл. Созданный класс необходимо зарегистрировать в сервис-провайдере.

Компонент

Команда создает пользовательский компонент:

php artisan moonshine:component
php artisan moonshine:component

После выполнения команды в директории app/MoonShine/Components будет создан класс для компонента, а в директории resources/views/admin/components - файл Blade.

Для более подробной информации обратитесь к разделу Компоненты.

Команда для создания контроллера:

php artisan moonshine:controller
php artisan moonshine:controller

После выполнения команды в директории app/MoonShine/Controllers будет создан класс контроллера, который можно использовать в маршрутах админ-панели.

Для более подробной информации обратитесь к разделу Контроллеры.

Поле

Команда позволяет создать пользовательское поле:

php artisan moonshine:field
php artisan moonshine:field

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

После выполнения команды в директории app/MoonShine/Fields будет создан класс поля, а в директории /resources/views/admin/fields - файл Blade.

Для более подробной информации обратитесь к разделу Поле.

Обработчик

Команда создает класс Handler для собственных реализаций импорта и экспорта:

php artisan moonshine:handler
php artisan moonshine:handler

После выполнения команды в директории app/MoonShine/Handlers будет создан класс обработчика.

Для более подробной информации обратитесь к разделу Импорт/Экспорт.

Страница

Команда создает страницу для админ-панели:

  • --crud - создает группу страниц: индексную, детальную и форму;
  • --dir= - директория, в которой будут располагаться файлы относительно app/MoonShine, по умолчанию Page;
  • --extends= - класс, который будет расширять страница, например IndexPage, FormPage или DetailPage.

После выполнения команды в директории app/MoonShine/Pages будет создана страница по умолчанию (или группа страниц).

Для более подробной информации обратитесь к разделу Страница.

Политика

Команда создает Policy, привязанную к пользователю админ-панели:

php artisan moonshine:policy
php artisan moonshine:policy

После выполнения команды в директории app/Policies будет создан класс.

Для более подробной информации обратитесь к разделу Авторизация.

Ресурс

Команда для создания ресурсов:

php artisan moonshine:resource
php artisan moonshine:resource

Доступные опции:

  • --m|model= - Eloquent модель для модельного ресурса;
  • --t|title= - заголовок раздела;
  • --test или --pest - дополнительно сгенерировать тестовый класс.

При создании Resource доступно несколько вариантов:

После выполнения команды в директории app/MoonShine/Resources/ будет создан файл ресурса. Если создается модельный ресурс со страницами, в директории app/MoonShine/Pages будут созданы дополнительные страницы.

Для более подробной информации обратитесь к разделу Модельные ресурсы.

Приведение типов

Команда создает класс TypeCast для работы с данными:

php artisan moonshine:type-cast
php artisan moonshine:type-cast

После выполнения команды в директории app/MoonShine/TypeCasts будет создан файл.

Для более подробной информации обратитесь к разделу TypeCasts.

Пользователь

Команда, позволяющая создать супер-пользователя:

php artisan moonshine:user
php artisan moonshine:user

Доступные опции:

  • --u|username= - логин/email пользователя;
  • --N|name= - имя пользователя;
  • --p|password= - пароль.

Публикация

Команда для публикации:

php artisan moonshine:publish
php artisan moonshine:publish

Для публикации доступно несколько вариантов:

  • Assets - ассеты админ-панели MoonShine;
  • Assets template - создает шаблон для добавления собственных стилей в админ-панель MoonShine;
  • Layout - класс MoonShineLayout, отвечающий за общий внешний вид админ-панели;
  • Favicons - переопределяет шаблон для изменения фавиконок;
  • System Resources - системные MoonShineUserResource, MoonShineUserRoleResource, которые вы можете изменить.

Вы можете сразу указать тип публикации в команде.

php artisan moonshine:publish assets
php artisan moonshine:publish assets

Доступные типы:

  • assets
  • assets-template
  • layout
  • favicons
  • resources