• Час читання ~2 хв
  • 28.07.2023

Laravel 11 не планується випустити до кінця року, але деякі нові функції були поділені, і Тейлор переживає деякі великі нові вдосконалення у своїй основній доповіді Laracon:

Streamlined Directory Structure

Поки що це лише попередній перегляд бета-версії. Вони можуть змінитися, але на даний момент ось чого очікувати...

Контролери більше нічого не розширюють за замовчуванням.

Більше немає каталогу проміжного програмного забезпечення. В даний час Laravel включає дев'ять проміжних програм, і багато з яких ви ніколи не налаштуєте. Однак, якщо ви хочете налаштувати їх, це буде переміщено до програми/постачальника послуг. Наприклад:

public function boot(): void
{
    EncryptCookies::except(['some_cookie']);
}

Більше немає http / ядра

Більшість речей, які ви раніше могли робити в ядрі, тепер ви можете робити в Bootstrap / App.

return Application::configure()
    ->withProviders ()
    -›withRouting(
        web: __DIR__.'/../routes/web.php'
        commands: __DIR__.'/../routes/console.php',
    )
    ->withMiddleware(function(Middleware Smiddleware) {
        $middleware->web(append: LaraconMiddleware::class):
    })

Зміни

зліпків моделі Зліпки моделі тепер визначаються як метод, а не як властивість. Коли ми визначені як метод, ми можемо робити інші речі, наприклад, викликати інші методи безпосередньо з зліпків. Ось приклад використання нового Laravel 11 :

protected function casts(): array
{
    return [
        'email_verified_at' => 'datetime',
        'password' => 'hashed',
        'options'=› AsEnumCollection::of(UserOption::class),
    ];
}

Config Changes

Laravel має багато конфігураційних файлів, і Laravel 11 AsEnumCollectionвидаляє їх, і всі параметри конфігурації каскадом вниз. Його .env було розширено, щоб включити всі параметри, які ви хочете встановити.

Щоб створити пару з цим, це нова config:publish команда, щоб ви могли повернути будь-яку конфігурацію, яку ви можете захотіти. Навіть повернувши їх, нова каскадна функція дозволяє видалити всі параметри, які ви не хочете налаштовувати.

Тонка міграція за замовчуванням Коли

ви запускаєте новий додаток Laravel, він поставляється з деякими міграціями за замовчуванням з 2014 та 2019 років. Тепер вони будуть поставлятися з датами, видаленими та переміщеними лише у два файли.

Зміни

маршрутів За замовчуванням буде тільки два маршрутних файлу, консоль.php і web.php. Маршрути API тепер стануть увімкненими через php artisan install:api, надавши вам файл маршрутів API та Laravel Sanctum.

Те ж саме і з трансляцією websocket, php artisan install:broadcasting.

Консольне ядро видалено

Консольне ядро видаляється, і замість цього ви зможете визначити свої команди консолі прямо в routes/console.php.

Мінімальна підтримка

PHP 8.2 Це було раннє рішення, але програми Laravel 11 вимагають мінімум PHP 8.2. Якщо ви використовуєте старішу версію PHP, зараз гарний час для її оновлення.

Підводячи підсумок

Поки що всі ці функції вважаються бета-версією для Laravel 11 і призначені для поліпшення вашого робочого процесу. Все може і, ймовірно, зміниться, і ми будемо оновлювати цю публікацію, коли будуть оголошені нові функції.

Comments

No comments yet
Yurij Finiv

Yurij Finiv

Full stack

Про мене

Professional Fullstack Developer with extensive experience in website and desktop application development. Proficient in a wide range of tools and technologies, including Bootstrap, Tailwind, HTML5, CSS3, PUG, JavaScript, Alpine.js, jQuery, PHP, MODX, and Node.js. Skilled in website development using Symfony, MODX, and Laravel. Experience: Contributed to the development and translation of MODX3 i...

Про автора CrazyBoy49z
WORK EXPERIENCE
Контакти
Ukraine, Lutsk
+380979856297