12+1 Laravel Tipp 🧑🏼‍💻

12+1 Laravel Tipp 🧑🏼‍💻

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.

 

 

Török Ádám

Török Ádám

Fejlesztő