1. Callback Függvények a Config Helper Alapértelmezett Argumentumaként
A Laravel lehetővé teszi, hogy callback függvényeket adjunk meg a config
helper alapértelmezett értékeként. Ez különösen hasznos lehet egyedi hibák dobására, ha egy konfigurációs kulcs hiányzik. Mi sokat használjuk, hiszen a munkánk során sok konstans értéket konfigurációs fájlokban tárolunk.
2. $touches Property Használata
A $touches
property segítségével beállíthatjuk, hogy a "szülő" model időbélyege automatikusan frissüljön, ha a "gyerek" modell frissítve lett.
Ez a példában úgy érvényesül, hogy ha a Comment model változtatására, a Post modell "updated_at" adattagja frissül.
3. Eager loading relációk "tiszta tömb" szintaxissal
A következő példában betöltjük a QrCode-hoz tartozó készítőket, azoknak az adatait, elérhetőségeit és követőiket.
Ez a szintaxis átláthatóbbá teszi a kódunkat - természetesen használható az eddig használt creator.contacts, creator.details ... szintaxis is, viszont ez szerintünk kellemesebb a szemnek.
4. str()->plural() Használata
A str()->plural()
függvénnyel könnyedén átkonvertálhatjuk a szavakat többesszámra az értéktől függően, ami különösen hasznos lehet például egy webshop kosár funkciójában.
A példában a kosár tartalmi szövegét változtatjuk, attól függően hogy egy vagy több elem van benne.
5. Fake értékek generálása az alkalmazáson belül bárhol
A Laravel Faker
könyvtára segítségével bárhol generálhatunk fake értékeket az alkalmazáson belül, ami hasznos lehet gyors mock-ok készítéséhez, például egy táblázat feltöltéséhez. A mockolási fázisban sokat használjuk mi is, hogy lássuk hogy áll össze a design.
6. Feltételhez kötött job skip
Lehetőségünk van feltételek alapján átugrani egy-egy job-ot, ami hasznos lehet például, ha hétvégén vagy ünnepnapokon nem szeretnénk e-maileket küldeni az ügyfeleknek.
A példakódban szereplő callback function visszatérési értéke (ünnepnak van-e) alapján küld e-maileket a rendszer. Ha ünnepnap van akkor az adott napra nem küld e-maileket a rendszer.
7. Alapértelmezett érték megadása BelongsTo relációnál
A BelongsTo
relációhoz megadhatunk egy alapértelmezett adat értéket, amely hasznos lehet, ha a relációhoz mindig szükséges egy alapértelmezett érték.
Ez majd a blade fájlokban tud nekünk sokat segíteni, például a ternary operátorok helyett hiba nélkül használhatjuk a következő sort
8. isset() több argumentummal is használható
Az isset()
függvény több argumentumot is elfogad, ami egyszerűbbé teszi a változók ellenőrzését. Ez se több egy kis "syntax sugar"-nál viszont szerintünk könyebb olvasni.
9. 'pluck' használata eloquent Modelleken get nélkül
Az Eloquent modelleken a pluck
metódus közvetlenül használható a get
metódus nélkül, ami egyszerűsíti az adat lekérdezést.
10. match() függvény a kód tisztítására
A PHP 8.0-tól elérhető match()
függvény segítségével gyorsabb és tisztább kódot érhetünk el. Szükség szerint átfaktorálhatóak a régi if, switch casek, amelyekkel valamelyest átláthatóbb kódot kapunk. Viszont az se feltétlen baj, ha a régebbi módokat választjuk.
11. Modellek automatikus törlése a Prunable Trait-tel
A Prunable
trait segítségével modelleket időközönként törölhetővé tehetünk, ami hasznos lehet, ha elavult vagy már nem használt értékeket szeretnénk eltávolítani az adatbázisból.
12. @includeWhen és @includeUnless direktívák
A Blade sablonban használhatjuk az @includeWhen
és @includeUnless
direktívákat, hogy tisztábban tartsuk a kódot. Természetesen maradhatunk az eddig jól bevállt @if -nél is, viszont az @includeIf direktívát is használhatjuk! Ki mit preferál
12 + 1. Laravel @checked helper
A blade-ben történő checkbox és radio inputok készítése elég bonyolult lehet. A Laravel 9-től elérhető @checked
helper egy kis "syntax-sugar"-ral segíthet a radio és checkbox inputok készítéséhez.