Laravel v12.50.0 – 3 újdonság

Laravel v12.50.0 – 3 újdonság

Laravel-logo

Laravel v12.50.0 – 3 újdonság, amit érdemes ismerni

A Laravel csapat kiadta a v12.50.0 verziót, amely több mint 40 pull requestet tartalmaz 20 közreműködőtől. Ebben a cikkben a három legfontosabb, fejlesztői élményt javító újdonságot mutatjuk be.

1. Új hasMany() metódus a Collection-ökön

A collection-ökön eddig is létezett a containsOneItem() és a containsManyItems() metódus, de valljuk be, ezek elég hosszúak és nehezen megjegyezhetők voltak. A v12.50.0-ban két új, tömörebb alternatíva érkezett:

Copy to Clipboard

A hasMany() boolean értéket ad vissza, és callback-et is elfogad, ha pontosítani szeretnéd, mire keresel:

Copy to Clipboard

A régi containsOneItem() és containsManyItems() metódusok Laravel 13-ban deprecated-té válnak, úgyhogy érdemes már most átszokni az újakra.

Közreműködő: @JosephSilber#58550

2. Típusos getterek a Cache facade-on

A Config facade-on már régóta elérhetők a típusos getterek (getString(), getInteger() stb.), amelyek biztosítják, hogy a visszakapott érték a várt típusú legyen. Most ez a Cache facade-ra is megérkezett:

Copy to Clipboard

Ez egy extra biztonsági réteg, ami segít korán elkapni a típushibákat, különösen nagyobb alkalmazásokban, ahol a cache-ben tárolt adatok típusáról könnyű megfeledkezni.
Közreműködő: @ahinkle#58451

3. Új clamp() metódus a request adatokhoz

Ez a funkció különösen hasznos lapozásnál. Képzeld el, hogy van egy terméklistád, ahol a felhasználó kiválaszthatja, hány elemet lát oldalanként: 10, 25 vagy 50. Eddig semmi nem akadályozta meg, hogy valaki kézzel átírja az URL-ben a per_page paramétert mondjuk 5000-re — ami komoly terhelést okozhat a szerveren.
Az új clamp() metódussal ez egyszerűen megoldható:

Copy to Clipboard

Ha a felhasználó 5000-et ad meg, az automatikusan 50-re csökken. Ha 1-et, akkor 10-re nő. Nem kell többé kézzel validálni és korlátozni a lapozási értékeket.
Közreműködő: @cosmastech#58608

Egyéb figyelemre méltó változások

A fenti három kiemelt újdonságon túl a release számos egyéb javítást és fejlesztést is tartalmaz:

  • Unique queued listenerek — a queue-ba helyezett listenerek mostantól lehetnek egyediek (#58402)
  • authority() metódus a Support/Uri-hoz — URI authority komponens kezelése (#58534)
  • withoutAppends() az Eloquent modelleken — az appended attribútumok szelektív eltávolítása (#58552)
  • MorphMap használata model identifierek szerializálásakor (#58482)
  • SQL Server grammar javítások — precíziós ellenőrzések oszloptípusoknál (#58602)
  • Notification állapotmegőrzés a via() metódusból sendNow() -ba (#58558)

A teljes changelog elérhető a GitHub release oldalon.
Köszönet a 20 közreműködőnek, akik ezt a kiadást lehetővé tették! 🚀