- Требования к системе для работы Panel Builder Filament 3
- Установка Panel Builder Filament 3
- Создание пользователя в Конструкторе пакетов Filament 3
- Использование других пакетов Filament
- Развертывание в производство Конструктора пакетов Filament 3
- Публикация конфигурации Panel Builder Filament 3
- Публикация переводов в Конструкторе пакетов Filament 3
- Обновление Panel Builder Filament 3.
Требования к системе для работы Panel Builder Filament 3
Для работы Filament необходимо выполнить следующие требования:
- PHP 8.1+
- Laravel v10.0+
- Livewire v3.0+
Недавно состоялся релиз Livewire v.3!
Команда разработчиков Livewire проделала огромную работу, чтобы сделать ее стабильной, однако она полностью переписала Livewire v.2. Вы можете столкнуться с проблемами, поэтому мы рекомендуем тщательно протестировать ваше приложение перед использованием Filament v.3 для работы с ним.
Установка Panel Builder Filament 3
Если выполняется обновление с Filament v.2, ознакомьтесь с руководством по обновлению.
Установка Filament Panel Builder выполняется с помощью следующих команд в каталоге проекта Laravel:
composer require filament/filament:"^3.0-stable" -W
php artisan filament:install --panels
В результате будет создан и зарегистрирован новый сервис-провайдер Laravel с именем app/Providers/Filament/AdminPanelProvider.php
.
Если при обращении к панели возникает ошибка, проверьте, был ли зарегистрирован этот провайдер в файле
config/app.php
. Если нет, то необходимо вручную добавить его в массивproviders
.
Создание пользователя в Конструкторе пакетов Filament 3
Примечание с Лунной Базы:
Для того, чтобы всё работало, нужно накатить стандартные миграции Laravel "из коробки", если они ещё не были накачены:
php artisan migrate
Создать новую учетную запись пользователя можно с помощью следующей команды:
php artisan make:filament-user
Откройте /admin
в браузере, войдите в систему и начните создавать свое приложение!
Не знаете, с чего начать? Ознакомьтесь с руководством Начало работы, чтобы узнать, как создать полноценную панель администратора Filament для своего проекта на Laravel.
Использование других пакетов Filament
В Filament Panel Builder сразу устанавливаются пакеты Form Builder, Table Builder, Notifications, Actions, Infolists и Widgets. Для использования этих пакетов в панели не требуется никаких других действий по установке.
Развертывание в производство Конструктора пакетов Filament 3
По умолчанию все модели User
могут обращаться к Filament локально. Однако при развертывании на рабочем проекте необходимо обновить файл App\Models\User.php
, чтобы реализовать модель FilamentUser
- это гарантирует, что только корректные пользователи смогут получить доступ к вашей панели:
<?php
namespace App\Models;
use Filament\Models\Contracts\FilamentUser;
use Filament\Panel;
use Illuminate\Foundation\Auth\User as Authenticatable;
class User extends Authenticatable implements FilamentUser
{
// ...
public function canAccessPanel(Panel $panel): bool
{
return str_ends_with($this->email, '@yourdomain.com') && $this->hasVerifiedEmail();
}
}
Если не выполнить эти шаги, то при обращении к приложению в production
режиме будет возвращена ошибка 403 Forbidden.
Публикация конфигурации Panel Builder Filament 3
Опубликовать конфигурацию пакета Filament (при необходимости) можно с помощью следующей команды:
php artisan vendor:publish --tag=filament-config
Публикация переводов в Конструкторе пакетов Filament 3
При необходимости языковые файлы с переводами можно опубликовать следующей командой:
php artisan vendor:publish --tag=filament-panels-translations
Так как данный пакет зависит от других пакетов Filament, языковые файлы для этих пакетов можно опубликовать с помощью следующих команд:
php artisan vendor:publish --tag=filament-actions-translations
php artisan vendor:publish --tag=filament-forms-translations
php artisan vendor:publish --tag=filament-notifications-translations
php artisan vendor:publish --tag=filament-tables-translations
php artisan vendor:publish --tag=filament-translations
Обновление Panel Builder Filament 3
Обновляетесь с Filament v.2? Ознакомьтесь с руководством по обновлению.
Filament автоматически обновляется до последней стабильной версии при запуске команды composer update
. После обновления необходимо очистить весь кэш Laravel и обновить assets фронтенда. Это можно сделать одним махом с помощью команды filament:upgrade
, которая должна была быть добавлена в файл composer.json
при первом запуске filament:install
:
"post-autoload-dump": [
// ...
"@php artisan filament:upgrade"
],
Обратите внимание, что filament:upgrade
фактически не обрабатывает процесс обновления, так как это делается в Composer. Если вы обновляете вручную, не используя хук post-autoload-dump
, то можно выполнить команду самостоятельно:
composer update
php artisan filament:upgrade
Перевод с английского официальной документации Filament 3:
https://filamentphp.com/docs/3.x/panels/installation
Заберите ссылку на статью к себе, чтобы потом легко её найти!
Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
Не надо себя сдерживать! ;)