Essentials — це пакет, створений Нуну Мадуро, який забезпечує покращені налаштування для ваших застосунків Laravel. Він включає суворі моделі, автоматичне завантаження зв'язків, незмінні дати та багато іншого.
# Основні функції
- Сувора обробка моделей: Покращує, як Eloquent працює з невизначеними атрибутами, ледачим завантаженням і недійсними присвоєннями.
- Автоматичне завантаження: Автоматично заповнює зв'язки, визначені у властивості моделі
$with. - Опціональні незахищені моделі: Вимкнення глобального захисту масового присвоєння в Laravel (за замовчуванням).
- Незмінні дати: Використання
CarbonImmutableзамість змінних об'єктів дати в усьому застосунку. - Примус до HTTPS: Гарантує, що всі генеровані URL використовують HTTPS.
- Безпечна консоля: Блокує потенційно небезпечні команди Artisan у продакшені (наприклад,
migrate:fresh). - Префетчинг активів: Налаштування Laravel Vite для більш агресивного попереднього завантаження активів.
- Запобігання зайвим запитам: Налаштування HTTP фасаду Laravel, щоб запобігти відправленню зайвих запитів.
- Фейковий сон: Налаштування Laravel Sleep Facade на фейк.
- Додаткові команди Artisan: Дозволяють генерувати класи дій за допомогою
make:action, а також налаштовувати Pint і Rector з рекомендованими настройками за допомогоюessentials:pintіessentials:rector. - Плануються й інші функції.
Хоча пакет містить кілька обґрунтованих налаштувань за замовчуванням, усі функції можна налаштувати через файл конфігурації config/essentials.php.
Примітка: Нуну рекомендує використовувати цей пакет лише в нових проєктах або коли ви впевнені в змінах, які він вносить, оскільки він змінює стандартну поведінку Laravel.
Щоб встановити цей пакет, виконайте наступні команди:
composer require nunomaduro/essentials
php artisan vendor:publish --tag=essentials-stubs
Дізнайтеся більше про цей пакет та перегляньте вихідний код на GitHub.