Требования
Для использования MoonShine необходимо соблюдение следующих требований перед установкой:
- php >= 8.1,
- laravel >= 10.23,
- composer > 2.
Composer
composer require "moonshine/moonshine:^2"
composer require "moonshine/moonshine:^2"
Установка
php artisan moonshine:install
php artisan moonshine:install
После выполнения будет добавлен config/moonshine.php
с базовыми настройками.
Подробнее о файле конфигурации
Также будет добавлена директория с панелью администрирования и ресурсами - app/MoonShine
.
Подробнее о Ресурсах
И также будет добавлен провайдер MoonShineServiceProvider
, где следует регистрировать ресурсы.
Подробнее о Ресурсах
Создание администратора
Если во время установки панели администрирования MoonShine
не был создан администратор или необходимо создать еще одного, это можно сделать, выполнив консольную команду.
php artisan moonshine:user
php artisan moonshine:user
Сервис-провайдер
Для регистрации новых ресурсов в MoonShine и создания меню нам нужен app/Providers/MoonShineServiceProvider.php
namespace App\Providers;use MoonShine\Menu\MenuGroup;use MoonShine\Menu\MenuItem;use MoonShine\Providers\MoonShineApplicationServiceProvider;use MoonShine\Resources\MoonShineUserResource;use MoonShine\Resources\MoonShineUserRoleResource;class MoonShineServiceProvider extends MoonShineApplicationServiceProvider{protected function resources(): array{return [];}protected function menu(): array{return [MenuGroup::make('moonshine::ui.resource.system', [MenuItem::make('moonshine::ui.resource.admins_title', new MoonShineUserResource())->translatable(),MenuItem::make('moonshine::ui.resource.role_title', new MoonShineUserRoleResource())->translatable(),])->translatable(),MenuItem::make('Documentation', 'https://laravel.com')->badge(fn() => 'Check'),];}protected function theme(): array{return [];}}
namespace App\Providers;use MoonShine\Menu\MenuGroup;use MoonShine\Menu\MenuItem;use MoonShine\Providers\MoonShineApplicationServiceProvider;use MoonShine\Resources\MoonShineUserResource;use MoonShine\Resources\MoonShineUserRoleResource;class MoonShineServiceProvider extends MoonShineApplicationServiceProvider{protected function resources(): array{return [];}protected function menu(): array{return [MenuGroup::make('moonshine::ui.resource.system', [MenuItem::make('moonshine::ui.resource.admins_title', new MoonShineUserResource())->translatable(),MenuItem::make('moonshine::ui.resource.role_title', new MoonShineUserRoleResource())->translatable(),])->translatable(),MenuItem::make('Documentation', 'https://laravel.com')->badge(fn() => 'Check'),];}protected function theme(): array{return [];}}
После установки в MoonShineServiceProvider
будет зарегистрировано несколько ресурсов.
Подробнее о Меню.
Отлично! Теперь вы можете создавать и регистрировать разделы будущей панели администрирования и приступать к работе! Но не забудьте дочитать документацию до конца!
По умолчанию доступ к панели администрирования осуществляется по url /admin
.
Вы можете изменить url в файле конфигурации.