Kiemelt kép

Megjelent a Laravel 8!

A mai napon a Laravel fejlesztői csapata kiadta a népszerű PHP keretrendszer legújabb verzióját, a 8.0-t, amely bőven hoz újdonságokat. Ebben a posztban megpróbálok kitérni a legfontosabb fejlesztésekre, legalább pár szó erejéig.

Újragondolt frontend komponens

A Laravel egy PHP keretrendszer, tehát nem a frontenden van a hangsúly, ennek ellenére opcionálisan kínál megoldásokat. Az előző verziókban egy laravel/ui csomagot használva lehetett alapvető felhasználói műveletekhez többek között controllereket generálni. Ezt a koncepciót fejlesztették tovább a 8-as főverzióval, így megjelent a laravel/jetstream csomag. Ennek segítségével autentikációs műveleteket, két lépcsős azonosítást, csapatmenedzsmentet, munkamenet kezelést és még számos más funkcionalitást tudunk viszonylag egyszerűen hozzáadni a projektünkhöz a Tailwind CSS, az Inertia és/vagy a Livewire frontend megoldásokat használva.

Részletesen itt olvashatsz a Jetstreamről.

Modellek és modell „gyárak”

Az új verzióval egy apróságnak tűnő, de annál inkább idegesítő dolgot sikerült végre helyére rakni: alapból van már App\Models namespace. Eddig nagyjából minden új projekt azzal kezdődött, hogy mindenki csinált egyet magának, a User modellt pedig átrakta, illetve config fájlokban ennek helyét korrigálta. Mostantól alapból Models mappába kerül, és igen, a modell generáló parancs a jövőben ide generál majd (vagy opcionálisan a fő névtérbe, ha valaki ellenzi a külön mappát).

Továbbá a korábban megszokott Model Factory megoldást is teljesen újragondolták. Mostantól osztályokat lehet létrehozni, pl. egy UserFactory osztályt, ahelyett, hogy a $factory->define() függvényt hívnánk meg a definíciókkal.

A „gyárak” definiálása mellett a használat módja is gyökeresen átalakult. Eddig factory() segédfüggvényt kellett meghívni, de az új HasFactory traitnek hála már ilyen szép kódokat tudunk írni:

User::factory()->count(50)->create();

Bővebben erről itt lehet olvasni.

Feladatok kötegelése

Megérkezett a Job Batching, vagyis a jövőben sokkal egyszerűbben tudunk „kötegekben” feladatokat futtatni és ezzel kapcsolatos eseményeket definiálni. Például fel akarunk dolgozni egymás után mondjuk 3 db statisztikai fájlt, majd ha ez elkészült, akkor egy összegző emailt akarunk küldeni a menedzsment felé az eredményről, de közben ha valami hiba történik, arról is szeretnénk értesítést kapni. Erre mostantól néhány egyszerű kódsorral lehetőségünk lesz.

Itt lehet erről még olvasni, illetve példakódokat nézegetni.

További újdonságok

Még számtalan kisebb módosítás és újdonság van, de tényleg csak címszavakban a legfontosabbak:

  • Időutazásos tesztelési mód ($this->travel(5)->days())
  • Artisan serve parancs fejlesztések (automatikus újratöltés)
  • Tailwind lapozás
  • Eseményfigyelés (event listening) fejlesztések
  • Dinamikus Blade komponensek
  • Továbbfejlesztett karbantartási mód

További információk a dokumentáció Release Notes oldalán, frissítéssel kapcsolatos segédlet pedig itt

Kiemelt kép © Laravel LLC


Ha nem szeretnél lemaradni a hasonló posztokról, kövesd a blog Facebook oldalát!