Od včera je k dispozícii nový major realease, Laravel 7.x
Obsahuje veľa zaujímavých noviniek, a o mnohých z nich si povieme viac v samostatných postoch.
Na úvod niekoľko základných informácii k podpore minulých a súčasných verzií.
K staršiemu LTS vydaniu (Laravel 5.5) bude vydávané bezpečnostné záplaty do konca augusta tohto roka.
K účasnému LTS (Laravel 6) budú vychádzať bezpečnostné záplaty do 3. septembra 2022 a opravy chýb do 3. septembra 2021.
Čo je vo verzii 7 nové?
- Laravel Airlock: autentifikačný systém pre single page aplikácie, mobilné aplikácie a API rozhrania. Airlock užívateľom dovoľuje vygenerovať viacero tokenov pre užívateľské konto. Jednotlivým tokenom je možné prideliť rôzne práva a obmedziť akcie, ktoré je na základe nich možné vykonávať. Laravel Airlock
- Eloquent casts: Laravel 7 predstavuje nový interface
CastsAttributes
, vďaka ktorému môžete definovať ako sa majú dátové typy transformovať v oboch smeroch - pri ukladaní do databázy a pri výbere z databázy. Slúžia k tomu metódy get
(transformácia z databázovej hodnoty na daný typ) a set
(transformácia z typu na hodnotu ukladanú do databázy).
- Rozšírenie Blade komponentov: Zmien v Blade komponentoch je viacero, ale za zmienku stoja hlavne tagy, kedy v rámci Blade je možné využívať vlastné definované tagy
<x-tag></x-tag>
. Blade komponenty
- Guzzle HTTP wrapper: Zjednodušenie rozhrania pre vytváranie HTTP požiadavok na komunikáciu s inýmy aplikáciami. Dokumentácia
- Operácie nad reťazcami: OO orientovaná knižnica, ktorá zahŕňa doterajšiu funkcionalitu triedy
Illuminate\Support\Str
. Ponúka však širšie možnosti manipulácie s reťazcami, viď. Fluent Strings
- Route Model Binding: V rámci definície routes môžete teraz definovať aj konkrétny stĺpec tabuľky, ktorý ma slúžiť ako kľúč pre RMB. Doteraz na tento účel slúžila metóda
getRouteKeyName
. Ide tak o ďalšie zjednodušenie a zefektívnenie syntaxe pri zvýšení prehľadnosti - key name je priamo súčasťou definície routes.
- Zvýšenie rýchlosti Route Caching: hľadanie zhody v kompilovaných routes (route:cache) bolo zrýchlené cca dvojnásobné ("Hello World" benchmark).
- Podpora CORS
- php artisan test: Odteraz je možné spúšťať phpunit testy omnoho konvenčnejšie, použitím Artisan príkazu php artisan test. Súčasťou je veľmi príjemné UI, štatistiky a prerušenie testovania pri prvom neúspešnom teste.
- Markdown Mail templates
- Úprava šablón generovaných tried: Artisan obsahuje množstvo príkazov, ktoré uľahčujú vytváranie nových tried (kontrollery, migrácie, testy, ...). Vďaka príkazu php artisan stub:publish môžete publikovať šablóny týchto súborov a následne si ich upraviť podľa potreby.
- ...
Viac informácií k novému Laravel 7.x nájdete v L7 Release notes