- Установка
- Пользователь
- Ресурс
- Страница
- Layout
- Компонент
- Поле
- Обработчик
- Политика
- Приведение типов
- Публикация
- Apply
Для выбора соответствующего пункта необходимо использовать клавишу пробел.
Установка
Команда для установки пакета MoonShine в ваш проект Laravel:
php artisan moonshine:installphp artisan moonshine:install
Сигнатура:
moonshine:install {--u|without-user} {--m|without-migrations} {--l|default-layout} {--a|without-auth} {--d|without-notifications} {--t|tests-mode} {--Q|quick-mode}moonshine:install {--u|without-user} {--m|without-migrations} {--l|default-layout} {--a|without-auth} {--d|without-notifications} {--t|tests-mode} {--Q|quick-mode}
Доступные опции:
--u|without-user- без создания супер-пользователя,--m|without-migrations- без выполнения миграций,--l|default-layout- выбор шаблона по умолчанию (без вопроса про компактную тему),--a|without-auth- без аутентификации,--d|without-notifications- без уведомлений,--t|tests-mode- тестовый режим,--Q|quick-mode- "быстрый" режим (пропускаются все диалоги с использованием параметров по умолчанию).
Для более подробной информации обратитесь к разделу Установка.
Пользователь
Команда для создания супер-пользователя:
php artisan moonshine:userphp artisan moonshine:user
Сигнатура:
moonshine:user {--u|username=} {--N|name=} {--p|password=}moonshine:user {--u|username=} {--N|name=} {--p|password=}
Доступные опции:
--u|username=- логин/email пользователя,--N|name=- имя пользователя,--p|password=- пароль.
Ресурс
Команда для создания ресурсов:
php artisan moonshine:resourcephp artisan moonshine:resource
Сигнатура:
moonshine:resource {className?} {--type=} {--m|model=} {--t|title=} {--test} {--pest} {--p|policy} {--base-dir=} {--base-namespace=}moonshine:resource {className?} {--type=} {--m|model=} {--t|title=} {--test} {--pest} {--p|policy} {--base-dir=} {--base-namespace=}
Доступные опции:
--m|model=- Eloquent модель дляModelResource,--t|title=- заголовок раздела,--type=- быстрый выбор типа ресурса (1 - по умолчанию, 2 - со страницами, 3 - пустой),--p|policy- также создать Policy,--testили--pest- дополнительно сгенерировать тестовый класс,--base-dir=, --base-namespace=- изменить базовую директорию и неймспейс класса.
При создании ресурса доступно несколько вариантов:
- Default model resource -
ModelResourceпо умолчанию с объявлением полей в методахindexFields(),formFields()иdetailFields(), - Model resource with pages -
ModelResourcec публикацией страницIndexPage,FormPageиDetailPage, - Empty resource - пустой ресурс для кастомных реализаций.
После выполнения команды в директории app/MoonShine/Resources будет создан файл ресурса.
Если создается ModelResource со страницами, то в директории app/MoonShine/Pages будут созданы дополнительные страницы.
Примеры:
php artisan moonshine:resource Post --model=CustomPost --title="Articles"php artisan moonshine:resource Post --model="App\Models\CustomPost"php artisan moonshine:resource Post --model=CustomPost --title="Articles"php artisan moonshine:resource Post --model="App\Models\CustomPost"
Для более подробной информации обратитесь к разделу ModelResource.
Страница
Команда для создания страниц:
php artisan moonshine:pagephp artisan moonshine:page
Сигнатура:
moonshine:page {className?} {--force} {--without-register} {--crud} {--dir=} {--extends=} {--base-dir=} {--base-namespace=}moonshine:page {className?} {--force} {--without-register} {--crud} {--dir=} {--extends=} {--base-dir=} {--base-namespace=}
Доступные опции:
--force- не спрашивать тип страницы,--without-register- без автоматической регистрации в провайдере,--crud- создает группу страниц: индексную, детальную и форму,--dir=- директория, в которой будут располагаться файлы относительноapp/MoonShine, по умолчанию Page,--extends=- класс, который будет расширять страница, например IndexPage, FormPage или DetailPage,--base-dir=, --base-namespace=- изменить базовую директорию и неймспейс класса.
После выполнения команды в директории app/MoonShine/Pages будет создана страница по умолчанию (или группа страниц).
Для более подробной информации обратитесь к разделу Страница.
Layout
Команда для создания layout'а:
php artisan moonshine:layoutphp artisan moonshine:layout
Сигнатура:
moonshine:layout {className?} {--compact} {--full} {--default} {--dir=} {--base-dir=} {--base-namespace=}moonshine:layout {className?} {--compact} {--full} {--default} {--dir=} {--base-dir=} {--base-namespace=}
Доступные опции:
--compact- наследует компактную тему,--full- наследует базовую тему,--default- установить в конфиге как шаблон по умолчанию,--dir=- директория, в которой будут располагаться файлы относительноapp/MoonShine, по умолчаниюLayouts,--base-dir=, --base-namespace=- изменить базовую директорию и неймспейс класса.
Для более подробной информации обратитесь к разделу Layout.
Компонент
Команда для создания пользовательского компонента:
php artisan moonshine:componentphp artisan moonshine:component
Сигнатура:
moonshine:component {className?} {--base-dir=} {--base-namespace=}moonshine:component {className?} {--base-dir=} {--base-namespace=}
Доступные опции:
--base-dir=, --base-namespace=- изменить базовую директорию и неймспейс класса.
После выполнения команды в директории app/MoonShine/Components будет создан класс для компонента,
а в директории resources/views/admin/components - файл Blade.
Для более подробной информации обратитесь к разделу Components.
Поле
Команда для создания пользовательского поля:
php artisan moonshine:fieldphp artisan moonshine:field
Сигнатура:
moonshine:field {className?} {--base-dir=} {--base-namespace=}moonshine:field {className?} {--base-dir=} {--base-namespace=}
Доступные опции:
--base-dir=, --base-namespace=- изменить базовую директорию и неймспейс класса.
При выполнении команды можно указать, будет ли поле расширять базовый класс или другое поле.
После выполнения команды в директории app/MoonShine/Fields будет создан класс поля, а в директории /resources/views/admin/fields - файл Blade.
Для более подробной информации обратитесь к разделу Поле.
Команда для создания контроллера:
php artisan moonshine:controllerphp artisan moonshine:controller
Сигнатура:
moonshine:controller {className?} {--base-dir=} {--base-namespace=}moonshine:controller {className?} {--base-dir=} {--base-namespace=}
Доступные опции:
--base-dir=, --base-namespace=- изменить базовую директорию и неймспейс класса.
После выполнения команды в директории app/MoonShine/Controllers будет создан класс контроллера, который можно использовать в маршрутах админ-панели.
Для более подробной информации обратитесь к разделу Контроллеры.
Обработчик
Команда для создания класса Handler:
php artisan moonshine:handlerphp artisan moonshine:handler
Сигнатура:
moonshine:handler {className?} {--base-dir=} {--base-namespace=}moonshine:handler {className?} {--base-dir=} {--base-namespace=}
Доступные опции:
--base-dir=, --base-namespace=- изменить базовую директорию и неймспейс класса.
После выполнения команды в директории app/MoonShine/Handlers будет создан класс обработчика.
Для более подробной информации обратитесь к разделу Handlers.
Политика
Команда для создания класса Policy, привязанного к пользователю админ-панели:
php artisan moonshine:policyphp artisan moonshine:policy
После выполнения команды в директории app/Policies будет создан класс.
Для более подробной информации обратитесь к разделу Безопасность > Авторизация.
Приведение типов
Команда для создания класса TypeCast для работы с данными:
php artisan moonshine:type-castphp artisan moonshine:type-cast
Сигнатура:
moonshine:type-cast {className?} {--base-dir=} {--base-namespace=}moonshine:type-cast {className?} {--base-dir=} {--base-namespace=}
Доступные опции:
--base-dir=, --base-namespace=- изменить базовую директорию и неймспейс класса.
После выполнения команды в директории app/MoonShine/TypeCasts будет создан файл.
Для более подробной информации обратитесь к разделу TypeCasts.
Публикация
Команда для публикации:
php artisan moonshine:publishphp artisan moonshine:publish
Для публикации доступно несколько вариантов:
- Assets - ассеты админ-панели MoonShine,
- Assets template - создает шаблон для добавления собственных стилей или создания собственной темы для MoonShine,
- System Resources - системные
MoonShineUserResource,MoonShineUserRoleResource, которые вы можете изменить, - System Forms - системные
LoginForm,FiltersForm, которые вы можете изменить, - System Pages - системные
ProfilePage,LoginPage,ErrorPage, которые вы можете изменить.
Вы можете сразу указать тип публикации в команде.
php artisan moonshine:publish assetsphp artisan moonshine:publish assets
Доступные типы:
- assets
- assets-template
- resources
- forms
- pages
Apply
Команда для создания класса apply:
php artisan moonshine:applyphp artisan moonshine:apply
Сигнатура:
moonshine:apply {className?} {--base-dir=} {--base-namespace=}moonshine:apply {className?} {--base-dir=} {--base-namespace=}
Доступные опции:
--base-dir=, --base-namespace=- изменить базовую директорию и неймспейс класса.
После выполнения команды в директории app/MoonShine/Applies будет создан файл.
Созданный класс необходимо зарегистрировать в сервис-провайдере.
Для более подробной информации обратитесь к разделу Поля.