PHPPamokos.lt


9. Route caching

Šis trumpas skyrelis bus aktualus tiems, kas dirba su didesniais projektais. Jų problema - didžiulis ir augantis routes.php failas. Net ir grupuojant viską į Route::resource() ar Route::controller(), failas neišvengiamai pučiasi. Ir problema ne tik tame, kad jį sunku skaityti ir suvokti, bet ir pats Laravel veikimas sulėtėja - juk reikia tą failą perskaityti ir apdoroti, ir tai daroma su absoliučiai kiekviena užklausa.

Šiai problemai spręsti Taylor Otwell su Laravel 5 versija pristatė Route Caching galimybę. Kaip turbūt ir suprantate pagal pavadinimą, visas routes.php failo turinys yra kešuojamas greitesniam apdorojimui.

Naudojimas yra labai paprastas ir primityvus - jei norite, kad jūsų routes.php failas būtų sukešuotas, paleiskite artisan komandą:

php artisan route:cache

Ir nuo tos akimirkos bus naudojamas kešuotas variantas. Tiesa, būkite budrūs - jei į routes.php pridėsite dar kokią eilutę, reikės kešą pergeneruoti - praleidžiant tą pačią route:cache komandą dar kartą.

Pastaba. Kešavimas veikia tik su Controlleriais - t.y. jei Route eilutės prisegtos prie controllerių, o ne prie Closure funkcijų.

O jeigu norite kešavimo atsisakyti, tam yra atskira išvalymo komanda:

php artisan route:clear

Štai ir viskas, daugiau apie šią funkciją nebėra ką pasakoti. Oficialioje dokumentacijoje teigiama, kad Routes registracija gali pagreitėti iki 100 kartų, bet manau, kad tai pasijaustų tik dirbant su dideliais projektais. Tačiau kaip taisyklė, optimizuojant didesnius projektus, pirmiausia reikia žiūrėti į duomenų bazės užklausų optimizavimą ir front-end kešavimą, bet apie Route Caching verta žinoti kaip apie galimybę.



(c) 2015-2018. Visais klausimais kreipkitės povilas@laraveldaily.com