Nova выглядит как мечта ленивого PHP-шника: подключил пакет — и админка готова. На практике, это реально экономит время, но иногда ты понимаешь, что без мелких костылей и магии Eloquent не обойтись.

Laravel Nova — это официальный пакет Laravel, который строит административную панель поверх твоих моделей.
Ты получаешь CRUD для всего, что есть в базе, без ручного писания интерфейса. Но «без писания интерфейса» не значит, что всё заработает идеально — тебе всё равно придётся разбираться с полями, фильтрами и кастомными действиями.

Установка

composer require laravel/nova
php artisan nova:install

Nova добавит свои ресурсы и создаст конфиг. Всё просто, как заварить кофе.

Создаём ресурс: пример с пользователями

php artisan nova:resource User

Вылетает файл app/Nova/User.php — тут ты указываешь, какие поля показывать в админке:

use Laravel\Nova\Fields\ID;
use Laravel\Nova\Fields\Text;
use Laravel\Nova\Fields\Email;
use Laravel\Nova\Fields\DateTime;

public function fields(Request $request)
{
    return [
        ID::make()->sortable(),
        Text::make('Name'),
        Email::make('Email'),
        DateTime::make('Created At')->onlyOnDetail(),
    ];
}

Хочешь добавить фильтр по активности пользователей — пожалуйста:

use App\Nova\Filters\ActiveUsers;

public function filters(Request $request)
{
    return [
        new ActiveUsers,
    ];
}

Или действие «Отправить письмо всем выбранным» — Nova позволяет создавать свои Actions:

php artisan nova:action SendEmailToUsers

Плюсы и минусы

Плюсы:

  • Быстро настраивается CRUD.
  • Интеграция с Eloquent, политики Laravel работают сразу.
  • Можно расширять: фильтры, кастомные поля, действия.

Минусы:

  • Иногда приходится ковыряться с кастомными полями, если стандартного нет.
  • Производительность — если у тебя куча записей, Nova может тормозить.
  • Дизайн «как есть» — если нужен свой стиль, придётся плясать с CSS и Vue.

Итог

Nova реально ускоряет создание админки для Laravel, но чудес не ждите. Она экономит время на базовые вещи, а всё остальное — как обычно, костыли, Eloquent и иногда нервные клетки.

Nova — это как готовый бургер: вкусно и быстро, но если хочешь «по-своему» — придётся добавить соус самому.