Filament v4 став стабільним

Перекладено ШІ
Оригінал: Laravel News
Оновлено: 14 серпня, 2025
Філімент v4 став стабільним, і в його оновленні на вас чекатимуть чудові новини! Чи готові ви дізнатися про всі захоплюючі нові можливості та поліпшення продуктивності, які допоможуть вам створювати ще більш вражаючі додатки? Читайте далі, щоб не пропустити всі важливі деталі

Офіційно! Станом на сьогодні, 12 серпня 2025 року, Filament v4 став стабільним! І значною мірою це стало можливим завдяки нашій чудовій спільноті та всім, хто допомагав у тестуванні, виправленні помилок і наданні рекомендацій. Ми цінуємо вашу роботу та внесок у наш розвиток.

Якщо ви не слідкували за новинами про бета-версію v4 або ж є новачком у Filament, у нас для вас чудові новини! Ми додали багато вражаючих оновлень, нових функцій і покращень продуктивності, щоб ви могли створювати ще кращі додатки з Filament. Перелік оновлень занадто довгий, щоб наводити його тут, але повний звіт про основні нововведення у v4 читайте у статті від нашого колеги Леандро: https://filamentphp.com/content/leandrocfe-whats-new-in-filament-v4

# Очікуйте наших улюблених оновлень

Ми в захваті від релізу v4 і хочемо поділитися кількома нашими улюбленими функціями, які ви зможете використовувати!

# Покращення продуктивності

Не можемо не згадати про покращення продуктивності v4. Ви помітите значне підвищення швидкості, незалежно від того, створюєте ви нову програму з нуля чи оновлюєте старішу версію до v4.

Без жодних налаштувань ви відразу отримаєте помітне підвищення продуктивності при використанні таблиць Filament! Ми багато працювали над оптимізацією рендерингу, і під час внутрішнього тестування спостерігали до трьох разів підвищення швидкості для великих наборів даних!

Ми також впровадили спеціальне рішення для часткового рендерингу, яке дозволяє уникнути дорогого повторного рендерингу компонентів, коли це не потрібно. Ці покращення не є безкоштовними, вони активуються за допомогою методів partiallyRenderComponentsAfterStateUpdated() та skipRenderAfterStateUpdated(). Щоб дізнатися більше, перегляньте документацію по частковому рендерингу.

Якщо ви віддаєте перевагу відео, подивіться це відео від Нуну, де вони з Даном більш детально розглядають покращення продуктивності v4!

# Схеми

Чи хотіли ви коли-небудь легко поєднувати поля форм, записи інфосторінок, компоненти макета та основні компоненти Filament? Раніше це було непросто, але в v4 ми об'єднали все в "Схеми", що дає можливість легше комбінувати ці різні компоненти для створення дійсно кастомізованих інтерфейсів. Це знайомий підхід для поєднання складових Filament у щось, що працює так, як ви очікуєте у вашому додатку.

Для повного списку доступних компонентів Схеми та інформації про їх використання перегляньте документацію!

Для тих, хто любить код, ось приклад схеми з документації! Ви побачите, що в одній схемі (form) використовуються компоненти з різних просторових імен!

use Filament\Forms\Components\Checkbox;
use Filament\Forms\Components\Select;
use Filament\Forms\Components\TextInput;
use Filament\Infolists\Components\TextEntry;
use Filament\Schemas\Components\Section;
 
$schema
    ->components([
        Grid::make(2)
            ->schema([
                Section::make('Details')
                    ->schema([
                        TextInput::make('name'),
                        Select::make('position')
                            ->options([
                                'developer' => 'Розробник',
                                'designer' => 'Дизайнер',
                            ]),
                        Checkbox::make('is_admin'),
                    ]),
                Section::make('Auditing')
                    ->schema([
                        TextEntry::make('created_at')
                            ->dateTime(),
                        TextEntry::make('updated_at')
                            ->dateTime(),
                    ]),
            ]),
    ])

Сподіваємось, це надихне вас на створення чогось чудового! Ми в захваті від того, що люди зможуть зробити з цим новим, простим у використанні системою в v4.

# Кастомні таблиці даних

Врешті-решт, це стало можливим!

Ми в захваті від нової реалізації таблиць, яка тепер дозволяє відображати дані без моделі! Просто надайте масив даних у вашу таблицю Filament, а ми позбавимо вас від усіх турбот. Більше не потрібно боротися з компонентами Filament чи звертатися до Sushi для додавання кастомних даних!

Найкраще те, що в цій новій реалізації кастомні дані, незалежно від того, чи є вони вбудованими, отриманими з API чи ще звідкись, отримують усі ті ж переваги, що й типові моделі. Це означає, що ваші кастомні дані можуть бути пагіновані, шукатися, сортовані та навіть мати прикріплені дії!

Для детальнішої інформації перегляньте нашу документацію з кастомних даних!

# Дії, Дії, Дії

Ця частина коротка, але дуже важлива.

Всі ми стикалися з ситуацією, коли потрібно було додати дію в додаток Filament, але ми імпортували не ті класи. Це не складно виправити, але дуже дратує.

У v4 ця проблема (в основному) залишилася в минулому!

Ми об'єднали всі класи дій, тож тепер не потрібно шукати відповідний клас для конкретного контексту. Усі дії тепер використовують єдиний простір імен Filament\Actions. І, крім того, це також спростило створення переносних дій, які можна використовувати в різних контекстах (форми, інфосторінки, таблиці тощо).

# Це тільки початок

Це лише невелика частина вражаючих оновлень, які стали частиною релізу v4.

Ми, можливо, трохи упереджено, але вважаємо, що це один з найкращих релізів Filament! Ви можете дізнатися більше в документації або у огляді v4 від Леандро. Але, на нашу думку, найкращий спосіб зрозуміти, що нового, — спробувати самостійно! Установка така ж проста, а шлях оновлення з v3 до v4 майже повністю автоматизований завдяки нашим скриптам оновлення (як Laravel Shift, але для Filament).

Знову ж таки, велике спасибі всій спільноті за постійну підтримку і внесок у цей реліз. Filament не став би таким, яким він є сьогодні, без вас, і ми вічно вдячні за вашу допомогу.

Спробуйте v4 і поділіться своїми враженнями! Нам буде цікаво почути вашу думку у нашому Discord-сервері Filament, особливо якщо ви створюєте щось, чим гордитесь, використовуючи Filament!