Цього тижня команда Laravel представила версію v11.28, яка містить команду composer run dev, стандартну конфігурацію Tailwind, атрибут "CollectedBy" для визначення власного класу колекції в моделі, інтерактивні команди шифрування/дешифрування та багато іншого
Тейлор Отвелл оновив репозиторій додатку laravel/laravel, додавши команду composer run dev для всіх нових додатків. У тому ж запиті на злиття кожен новий додаток Laravel має файл tailwind.config.js, що дозволяє одразу почати користуватися Tailwind без додаткових налаштувань. Це чудова новина для тих, хто хоче експериментувати з Tailwind без зайвих клопотів

Деталі можна знайти в Запиті на злиття #6463
Анреас Алстерхольм додав атрибут CollectedBy, що дає можливість вказати власний клас колекції для моделі:
З цим атрибутом більше не потрібно перевизначати метод
newCollection()у класі моделі
Ось приклад з запиту на злиття:
use Illuminate\Database\Eloquent\Attributes\CollectedBy;
#[CollectedBy(PostCollection::class)]
class Post
{
// ...
}
Гарм Гермісен додав інтерактивну підтримку для команд env:encrypt та env:decrypt. Команда шифрування запитує у користувача, чи хоче він згенерувати випадковий ключ або ввести наявний для шифрування. Дешифрування дозволяє вставити ключ через підказку та поле для пароля
env:encrypt

env:decrypt

Раян Холтон додав дві нові функції до фасаду Number для отримання значень стандартної локалі та валюти:
Number::defaultLocale(); // повертає стандартну локаль
Number::defaultCurrency(); // повертає стандартну валюту
Повний список нових функцій та оновлень дивіться нижче, а зміни між 11.27.0 та 11.28.0 на GitHub. Нижче наведені замітки про випуск безпосередньо з changelog:
null як значення за замовчуванням для курсора PHP Redis від @jayan-blutui у пул-реквестіIlluminate\Support\enum_value для перетворення BackedEnum або UnitEnum до скалярних значень від @crynobone у пул-реквестіthrow_if та throw_unless для відображення фактичної поведінки з "falsey" значеннями від @crishoj у пул-реквестіwhere з масивом поважав побудовні значення від @timacdonald у пул-реквестіthrow_* від @crishoj у пул-реквестіProcessPoolResults від @Riley19280 у пул-реквесті