Cred că știm cu toții că reprezentarea unei componente poate fi stocată în cache. Dar toată lumea înțelege de ce să folosească variabilele de interogare? Să ne dăm seama.
Activați cache-ul de prezentare în componenta dvs. cu ușurință. Utilizați metoda standard de afișare () a controlerului dvs.:
Deci, apelând JControllerLegacy :: display () cu primul parametru setat la true activează cache-ul. Dar de ce avem nevoie de al doilea parametru $ urlparams.
$ urlparams este o serie de variabile de interogare și tipurile de filtre ale acestora care participă la generarea unui ID cache unic. De exemplu:
Să vedem cum participă această matrice la generarea unui ID de cache unic. Mai întâi, uitați-vă la metoda JControllerLegacy :: display () și găsiți locația apelului cache:
Vedem că apelul la cache $ cache-> get (vizualizare $, „afișare“);> oferta noastră este înregistrată în proprietatea registeredurlparams aplicație care este simplu obiect, proprietățile pe care - este numele variabilei de interogare, iar valoarea - tipul de variabilă filtru. Acesta este modul în care obiectul apare atunci când se cachează com_content.
În continuare, proprietatea registeredurlparams este procesată în metoda makeId () a clasei JCache.
Vedem că obiectul înregistrat este eludat și că este generat un nou obiect $ safeuriaddon. a cărui proprietate este numele variabilei din interogare, iar valoarea este valoarea acestei variabile. Valoarea este filtrată după tipul de filtru pe care l-am setat pentru variabila corespunzătoare. Apoi, acest obiect este serializat și trimis pentru a genera un hash de md5.
Trebuie să rețineți întotdeauna că pentru cache-ul corespunzător, trebuie să treceți la matrice toate variabilele de interogare pe care le utilizați în componenta dvs. Este important să setați tipul corect de filtrare pentru aceste variabile.