Первые шаги

Установка

Требования

Для использования MoonShine необходимо соблюдение следующих требований перед установкой:

  • php >= 8.1,
  • laravel >= 10.23,
  • composer > 2.

Composer

composer require "moonshine/moonshine:^2"

Установка

php artisan moonshine:install

После выполнения будет добавлен config/moonshine.php с базовыми настройками.
Подробнее о файле конфигурации

Также будет добавлена директория с панелью администрирования и ресурсами - app/MoonShine.
Подробнее о Ресурсах

И также будет добавлен провайдер MoonShineServiceProvider, где следует регистрировать ресурсы.
Подробнее о Ресурсах

Создание администратора

Если во время установки панели администрирования MoonShine не был создан администратор или необходимо создать еще одного, это можно сделать, выполнив консольную команду.

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 [];
}
}

После установки в MoonShineServiceProvider будет зарегистрировано несколько ресурсов.
Подробнее о Меню.

Отлично! Теперь вы можете создавать и регистрировать разделы будущей панели администрирования и приступать к работе! Но не забудьте дочитать документацию до конца!

По умолчанию доступ к панели администрирования осуществляется по url /admin.
Вы можете изменить url в файле конфигурации.