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

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

env:decrypt

# Додано допоміжні функції defaultLocale() та defaultCurrency() до фасаду Number
Раян Холтон додав дві нові функції до фасаду Number для отримання значень стандартної локалі та валюти:
Number::defaultLocale(); // повертає стандартну локаль
Number::defaultCurrency(); // повертає стандартну валюту
# Замітки про випуск
Повний список нових функцій та оновлень дивіться нижче, а зміни між 11.27.0 та 11.28.0 на GitHub. Нижче наведені замітки про випуск безпосередньо з changelog:
# v11.28.0
- [11.x] Оновлення методів Authorizable з підтримкою BackedEnum від @bastien-phi у пул-реквесті
- [11.x] Використання
nullяк значення за замовчуванням для курсора PHP Redis від @jayan-blutui у пул-реквесті - [11.x] Поліпшення PHPDoc від @schulerj89 у пул-реквесті
- [11.x] Виправлення некоректного екранування ресурсів у substituteBindingsIntoRawSql() від @aedart у пул-реквесті
- [11.x] Додано корисні допоміжні функції defaultLocale та defaultCurrency до фасаду Number від @sts-ryan-holton у пул-реквесті
- [11.x] Виправлення визначення імені стовпця timestamps при відсутності одного або обох з адресних відносин від @daniser у пул-реквесті
- [11.x] Додано phpstan твердження для last у Collection isEmpty та isNotEmpty від @bastien-phi у пул-реквесті
- Додано інтерактивні env:encrypt та env:decrypt від @hhermsen у пул-реквесті
- [11.x] Поліпшення PHPDoc від @schulerj89 у пул-реквесті
- [11.x] Видалення HasFactory у моделі, коли це не потрібно, від @MrPunyapal у пул-реквесті
- [11.x] Додано
Illuminate\Support\enum_valueдля перетворенняBackedEnumабоUnitEnumдо скалярних значень від @crynobone у пул-реквесті - [11.x] Дозволено визначення вкладених компонентів від @browner12 у пул-реквесті
- [11.x] Введено атрибут RouteParameter від @bastien-phi у пул-реквесті
- [11.x] Перероблено використання enum_value() у castBinding() від @toarupg0318 у пул-реквесті
- [11.x] Поліпшення тестів, видалення дублювання коду від @toarupg0318 у пул-реквесті
- Скасовано "[11.x] Поліпшення тестів, видалення дублювання коду" від @taylorotwell у пул-реквесті
- [11.x] Виправлено HasManyThrough::one() від @staudenmeir у пул-реквесті
- [11.x] Консоль підтримує Laravel Prompts 0.3+ від @edjw у пул-реквесті
- [11.x] Поліпшення PHPDoc від @xurshudyan у пул-реквесті
- Виправлення: неправильний імпорт шляху фабрики під час команди моделі з використанням шляху до папки від @JeRabix у пул-реквесті
- [11.x] Поліпшення return type для
throw_ifтаthrow_unlessдля відображення фактичної поведінки з "falsey" значеннями від @crishoj у пул-реквесті - [11.x] Забезпечити, щоб
whereз масивом поважав побудовні значення від @timacdonald у пул-реквесті - [11.x] Лялькове оброблення null паролів під час перевірки даних від @gbradley у пул-реквесті
- [11.x] Відновлено поведінку звуження типу для допоміжників
throw_*від @crishoj у пул-реквесті - [11.x] Додано атрибут CollectedBy від @alsterholm у пул-реквесті
- [11.x] Додано методи successful та failed до
ProcessPoolResultsвід @Riley19280 у пул-реквесті - Проблема з методом constrained(), який використовувався після foreignIdFor(), замість імені таблиці, коли параметр $table не передається, використовується ім’я стовпця від @granitibrahimi у пул-реквесті