• Czas czytania ~2 min
  • 28.07.2023

Laravel 11 nie zostanie wydany do końca roku, ale udostępniono kilka nowych funkcji, a Taylor przechodzi kilka dużych nowych ulepszeń w swoim przemówieniu Laracon:

Usprawniona struktura

katalogów Do tej pory są to tylko podgląd wersji beta. Mogą się zmienić, ale na razie oto, czego się spodziewać...

Kontrolery domyślnie niczego już nie rozszerzają.

Koniec z katalogiem oprogramowania pośredniczącego. Obecnie Laravel zawiera dziewięć oprogramowania pośredniczącego i wiele z nich, których nigdy byś nie dostosował. Jeśli jednak chcesz je dostosować, zostanie to przeniesione do aplikacji/usługodawcy. Na przykład:

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

Nigdy więcej Http/Kernel

Większość rzeczy, które kiedyś mogłeś zrobić w jądrze, możesz teraz zrobić w Bootstrapie/aplikacji.

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

Zmiany

rzutowań modelu Rzutowania modelu są teraz definiowane jako metoda, a nie właściwość. Kiedy definiujemy się jako metodę, możemy robić inne rzeczy, na przykład wywoływać inne metody bezpośrednio z rzutów. Oto przykład użycia nowego Laravel 11 :

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

Config Changes

Laravel ma wiele plików konfiguracyjnych, a Laravel 11 AsEnumCollectionusuwa je, a wszystkie opcje konfiguracji spadają kaskadowo. Został rozszerzony .env o wszystkie opcje, które chcesz ustawić.

Aby sparować z tym jest nowe config:publish polecenie, dzięki czemu możesz przywrócić dowolną konfigurację, którą chcesz. Nawet po przywróceniu ich nowa funkcja kaskady pozwala usunąć każdą opcję, której nie chcesz dostosowywać.

Odchudzone domyślne migracje Po uruchomieniu nowej aplikacji Laravel pojawiają się domyślne migracje

z 2014 i 2019 roku. Te teraz będą dostarczane z usuniętymi datami i przeniesionymi do zaledwie dwóch plików.

Zmiany

tras Domyślnie dostępne będą tylko dwa pliki tras: konsola.php i .php internetowa. Trasy API staną się teraz opcjonalne za pośrednictwem php artisan install:api, dając Ci plik tras API i Laravel Sanctum.

To samo z websocket broadcasting, php artisan install:broadcasting.

Jądro konsoli usunięte

Jądro konsoli jest usuwane i zamiast tego będziesz mógł zdefiniować polecenia konsoli bezpośrednio w routes/console.php.

Minimalna obsługa

PHP 8.2 To była wczesna decyzja, ale aplikacje Laravel 11 wymagają minimum PHP 8.2. Jeśli używasz starszej wersji PHP, teraz jest dobry moment, aby ją zaktualizować.

Podsumowanie

Jak dotąd wszystkie te funkcje są uważane za wersję beta dla Laravel 11 i mają na celu poprawę przepływu pracy. Rzeczy mogą i prawdopodobnie się zmienią, a my będziemy aktualizować ten post w miarę ogłaszania nowych funkcji.

Comments

No comments yet
Yurij Finiv

Yurij Finiv

Full stack

O

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...

O autorze CrazyBoy49z
WORK EXPERIENCE
Kontakt
Ukraine, Lutsk
+380979856297