Cache-elt oldal lapozás LengthAwarePaginator-ral

Az alap lapozó megoldás a Laravel-ben sok terhet levesz a vállunkról, mert nagyon egyszerűen használható: az Eloquent lekérdezésünket nem get() -el fejezzük be hanem paginate() metódussal, melynek paraméterként megadjuk az oldalanként megjelenő pl. cikkek számát. Ez esetben minden egyes lapozáskor az adatbázishoz nyúl a programunk, ami nem erőforrás kímélő megoldás. Lehetőségünk van egyedi lapozást létrehozni, amivel megoldható, hogy az egyes oldalak elemei egy cache bejegyzésbe kerüljenek, így máris gyorsabb lesz a programunk.

Tippek csomag készítéshez

Összegyűjtöttem pár tippet csomag készítéshez, amelyeket csomagjaim készítse során használtam, és ezek a megoldások nincsenek dokumentálva, de jó ha tudunk róluk.

Letölthető fájlok elrejtése

Az alábbi rövid how-to cikkben bemutatom egy megvalósítását annak, hogyan jelenítsünk meg letölthető fájlokat (pl. doc, pdf) úgy, hogy azok elérési útvonalai, nevei rejtve maradjanak.

A composer install és update parancsok különbségének jelentősége

Néhányunknak gondot okozhat, ha nem használjuk jól a composer program install és update parancsát, főleg ha többen is dolgozunk egy adott projecten. Hogy miért fontos, hogy melyiket mikor használjuk, alábbiakban szeretném összefoglalni.

Composite pattern, Laravel módra

A SOLID elveket nem kevesen ismerik már, arról is hallotak sokan, hogy a controller-ünk ne legyen telezsúfolva funkcionális programkódokkal. Ezt eleinte, amikor MVC rendszert keztünk használi szinte mindenki figyelmen kívül hagyta, vagy nem is hallott róla, és elérhettük, hogy óriási, átláthatatlan metódusokat gyártottunk, egybe volt minden végrehajtandó feladat, de azért kicsit éreztük, hogy ez nem nagyon van jól.

Volt egy olyan mondás is, hogy “fat models, skinny controllers” (azaz kövér modelek – ebben legyen a lényeg, vékony controllerek – itt pedig csak a model hívásai..), sokat olvastam IRC-n jópár évvel ezelőtt, de ez is idejemúlt lett az idők során, és már több féle megoldás létezik kódunk funkcióinak szeparálására, ezek közül az egyik a Composite pattern használata.