Auto-cache în 1s-bitrix - este dificil despre simplu, alexey valeyov

Auto-caching-ul în 1C-Bitrix este un sistem bine dezvoltat și destul de complex, care permite reducerea numărului de apeluri către baza de date și accelerarea executării paginilor. Pentru a înțelege principiile și a le utiliza corect, orice Bitrix Developer de succes ar trebui să-l creeze pentru a crea proiecte rapide și de înaltă calitate. Astăzi vom vorbi despre relația dintre memoria cache și șablonul de componente.







Cum funcționează componenta

În primul rând, o mică descriere a componentelor componentei statistice medii din 1C-Bitrix:

  1. component.php - fișier cu codul care generează datele pentru șablon ($ arResult) și îl conectează. În plus, poate efectua orice acțiune după primirea datelor. De exemplu, setați titlul paginii sau adăugați elemente în lanțul de navigare.
  2. template.php - fișier șablon. În mod ideal, nu creează nicio logică, ci doar date de ieșire din $ arResult. ieșirea html este stocată în cache, adică Codul PHP din acest fișier va fi executat 1 dată, apoi html va fi returnat până la următoarea actualizare a cache-ului.
  3. result_modifier.php - un fișier care se conectează la template.php și poate schimba $ arResult. cache în același mod ca template.php
  4. component_epilog.php - fișierul care se conectează după template.php. Nu este memorat în cache.






Ultimele 3 fișiere aparțin șablonului, de preferință ele sunt editate. Component.php în componente standard nu poate fi schimbat, deoarece există șansa ca editările să fie șterse după actualizarea sistemului.

Schema generală a componentei poate fi reprezentată în mai multe etape:

  1. Validarea intrării în component.php
  2. Verificați prezența unei cache-uri valide (active) a fișierelor result_modifier.php și template.php. Dacă memoria cache este validă, ieșiți-o, completați $ arResult și treceți la pasul 5.
  3. În cazul unei cache nevalide, se iau măsurile necesare pentru obținerea datelor. De fapt, array $ arResult
  4. Conectarea result_modifier.php și template.php fișier, formarea de ieșire + html, precum și „depozitarea“ de această concluzie, și de matrice $ arResult
  5. Conectarea fișierului component_epilog.php
  6. Rularea restul codului în component.php

Lucruri de reținut

Conținutul matricei $ arResult diferă în diferite etape. În template.php result_modifier.php și devine o matrice care conține toate datele care au fost obținute în etapa 3. fișier component_epilog.php și codul de componente, care este executat după disponibile date $ arResult matrice cu chei care au fost enumerate în $ prezentul -> SetResultCacheKeys (Array ()). Apelul apare în componenta.

sunt disponibile în component_epilog.php începând cu (de exemplu, enumerate în SetResultCacheKeys) pot fi schimbate și template.php result_modifier.php Datele. Valoarea lor nouă va fi stocată în cache.

În result_modifier.php, puteți adăuga date în memoria cache.

Articole similare







Articole similare

Trimiteți-le prietenilor: