- Установка
- Пользователь
- Ресурс
- Страница
- Layout
- Компонент
- Поле
- Обработчик
- Политика
- Приведение типов
- Публикация
- Apply
Для выбора соответствующего пункта необходимо использовать клавишу пробел
.
Установка
Команда для установки пакета MoonShine в ваш проект Laravel:
php 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}
Доступные опции:
--u|without-user
- без создания супер-пользователя,--m|without-migrations
- без выполнения миграций,--l|default-layout
- выбор шаблона по умолчанию (без вопроса про компактную тему),--a|without-auth
- без аутентификации,--d|without-notifications
- без уведомлений,--t|tests-mode
- тестовый режим,--Q|quick-mode
- "быстрый" режим (пропускаются все диалоги с использованием параметров по умолчанию).
Для более подробной информации обратитесь к разделу Установка.
Пользователь
Команда для создания супер-пользователя:
php artisan moonshine:user
Сигнатура:
moonshine:user {--u|username=} {--N|name=} {--p|password=}
Доступные опции:
--u|username=
- логин/email пользователя,--N|name=
- имя пользователя,--p|password=
- пароль.
Ресурс
Команда для создания ресурсов:
php artisan moonshine:resource
Сигнатура:
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 -
ModelResource
c публикацией страниц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"
Для более подробной информации обратитесь к разделу ModelResource.
Страница
Команда для создания страниц:
php artisan moonshine:page
Сигнатура:
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:layout
Сигнатура:
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:component
Сигнатура:
moonshine:component {className?} {--base-dir=} {--base-namespace=}
Доступные опции:
--base-dir=, --base-namespace=
- изменить базовую директорию и неймспейс класса.
После выполнения команды в директории app/MoonShine/Components
будет создан класс для компонента,
а в директории resources/views/admin/components
- файл Blade
.
Для более подробной информации обратитесь к разделу Layout.
Поле
Команда для создания пользовательского поля:
php artisan moonshine:field
Сигнатура:
moonshine:field {className?} {--base-dir=} {--base-namespace=}
Доступные опции:
--base-dir=, --base-namespace=
- изменить базовую директорию и неймспейс класса.
При выполнении команды можно указать, будет ли поле расширять базовый класс или другое поле.
После выполнения команды в директории app/MoonShine/Fields
будет создан класс поля, а в директории /resources/views/admin/fields
- файл Blade
.
Для более подробной информации обратитесь к разделу Поле.
Команда для создания контроллера:
php artisan moonshine:controller
Сигнатура:
moonshine:controller {className?} {--base-dir=} {--base-namespace=}
Доступные опции:
--base-dir=, --base-namespace=
- изменить базовую директорию и неймспейс класса.
После выполнения команды в директории app/MoonShine/Controllers
будет создан класс контроллера, который можно использовать в маршрутах админ-панели.
Для более подробной информации обратитесь к разделу Контроллеры.
Обработчик
Команда для создания класса Handler
:
php artisan moonshine:handler
Сигнатура:
moonshine:handler {className?} {--base-dir=} {--base-namespace=}
Доступные опции:
--base-dir=, --base-namespace=
- изменить базовую директорию и неймспейс класса.
После выполнения команды в директории app/MoonShine/Handlers
будет создан класс обработчика.
Для более подробной информации обратитесь к разделу Handlers.
Политика
Команда для создания класса Policy
, привязанного к пользователю админ-панели:
php artisan moonshine:policy
После выполнения команды в директории app/Policies
будет создан класс.
Для более подробной информации обратитесь к разделу Безопасность > Авторизация.
Приведение типов
Команда для создания класса TypeCast
для работы с данными:
php artisan moonshine:type-cast
Сигнатура:
moonshine:type-cast {className?} {--base-dir=} {--base-namespace=}
Доступные опции:
--base-dir=, --base-namespace=
- изменить базовую директорию и неймспейс класса.
После выполнения команды в директории app/MoonShine/TypeCasts
будет создан файл.
Для более подробной информации обратитесь к разделу TypeCasts.
Публикация
Команда для публикации:
php 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 assets
Доступные типы:
- assets
- assets-template
- resources
- forms
- pages
Apply
Команда для создания класса apply:
php artisan moonshine:apply
Сигнатура:
moonshine:apply {className?} {--base-dir=} {--base-namespace=}
Доступные опции:
--base-dir=, --base-namespace=
- изменить базовую директорию и неймспейс класса.
После выполнения команды в директории app/MoonShine/Applies
будет создан файл.
Созданный класс необходимо зарегистрировать в сервис-провайдере.
Для более подробной информации обратитесь к разделу Поля.