ПредишенСледващото

Мисля, че всичко, което знаете, че компонентът на представяне могат да бъдат кеширани. Но дали всички разбираме защо в същото време използват променливи от заявката? Нека си го кажем.

Активирайте изпълнение кеширане в своята компонент достатъчно лесно. Вземете метода стандартен дисплей () на вашия контролер:

Така че, предизвикателство JControllerLegacy :: дисплея () с първия параметър, за да е вярно позволява кеширане. Но защо е необходимо вторият параметър $ urlparams.

$ Urlparams - масив от променливи, заявките и филтър видове, която се занимава с производството на уникален кеш ID. Например:

Нека да видим, как този масив е включен в генерирането на уникален кеш ID. Първи поглед към метод JControllerLegacy :: дисплей () и да намерят кеш разговор:

Виждаме, че поканата за кеширане $ cache-> Първи (изглед $, "дисплей");> нашата гама е регистрирано в имота registeredurlparams приложение, което е просто обект, свойствата на които - е името на променливата на заявка, а стойността - тип променлива филтър. Тук е обект кеширане com_content един.

Освен registeredurlparams собственост, се обработва с makeId на метод (JCache клас).

Виждаме какво се случва кръг registeredurlparams обект и ще генерира нов обект $ safeuriaddon. имот, който е на името на променливата става дума и стойността - стойността на тази променлива. Стойността се филтрува от типа филтър, ние поиска съответната променлива. Освен това, този обект е поредица и предадена за генериране на md5 хеш.

Трябва винаги да се помни, че за правилното кеширане, трябва да мине през масив от всички променливи от заявките, които се използват във вашия компонент. В този случай, важно е монтирането на правилния тип на филтъра за тези променливи.

Това е интересно:

Подкрепете проекта - споделете линка, благодаря!