Highload blocuri de informații Bitrix

Highload blocuri de informații Bitrix

Toată lumea știe că ele sunt acolo, dar foarte puțini oameni le folosesc. Ce sunt? Atunci când este necesar să le includă în proiect? API-ul pe care trebuie să lucreze cu ei? Să ne ocupăm!







Să începem de la început. Care sunt cele mai blocuri hayload și când să le folosească.

De ce au nevoie?

Chiar numele ne spune deja că aceste blocuri de informații sunt necesare pentru a rezista la o sarcină grea. Pentru a stoca o cantitate mare de date, pe care le poate lucra rapid și ușor. Deci, într-adevăr este.

Highload-blocuri în Bitrix - acestea sunt entități separate. Cu alte cuvinte, fiecare bloc HL-informații individuale - este un tabel separat în baza de date, ați intrat într-o coloană și tipurile stocate.

Spre deosebire de blocuri de informații obișnuite din Highload

Cea mai importantă diferență - este viteza. Este important să se înțeleagă. Dacă sunteți de lucru cu simplu sistem de bloc de informații face mai multe apeluri la baza de date, pentru a face un simplu, aparent probă, blocurile HL un singur SELECT „o. La urma urmei, locul de muncă este doar un singur tabel. De asemenea, ține minte acest lucru, dezvoltarea proiectului.

GetList'a familiar pentru noi, cu o grămadă de parametri în blocuri hayload nu, totul este destul de prozaic.

Când ar trebui să utilizați Highload-blocuri?

Imediat exemplu. Să presupunem că aveți un portal de divertisment pe care încercați să posta în fiecare zi este conținut diferit, rece \ util \ interesant. Oamenii care vizitează portalul dumneavoastră ar dori să fie în măsură de a salva articolele preferate pentru a le, apoi pentru a le putea găsi rapid (să zicem, într-un birou privat au o secțiune cu menținerea postului).







Ar fi o nebunie să creeze acest bloc de informații simplu, cu un anumit set de proprietăți, în cazul în care fiecare element nou va fi salvat de utilizator specific articol. Nu e doar rațional și nepractice.

Un alt lucru HL-bloc. Când este creat, specificați un câmp personalizat cu 2 tipuri de „număr“ - USER_ID. Article_id - și toate! comparații suplimentare în contul dvs. este foarte simplu. Fetches toate utilizator article_id la USER_ID. formând o matrice și împinge într-o metodă $ arFilter GetNext bloc de informații simple. Doar? Sigur!

Ei bine, bine, cred că e timpul să trecem la practica. Să vedem modul în care software-ul poate lucra cu HL-blocuri: cum să eșantion, cum să adăugați o înregistrare, modul de a actualiza elementele și a le elimina.

Lucrul cu API

Voi trece de la faptul că, pentru a crea Highload-blocuri pe care le cunoașteți. La urma urmei, acest lucru nu e mare. Așa cum se spune, „un cuplu de chei pentru a apăsa.“

Pentru a lucra cu blocuri API Highload trebuie mai întâi pentru a conecta modulul corespunzător:

În continuare, trebuie să creați o instanță a unei unități HL entitate cu care lucrăm:

Acum, pentru a adăuga o intrare la masa hayload, trebuie să adăugați metoda cu o serie de valoare adăugată;

Nu este dificil? Ne-am format o serie de $ arData la faptul că trebuie să adăugați. În cazul nostru, vom lega utilizatorul cu ID-ul = 5 articol cu ​​ID-ul = 123.

Și acum să luăm o mostră cu toți parametrii posibili (astfel încât să știi cum funcționează):

Pentru a șterge o intrare, este suficient să se folosească metoda șterge. trecându-l un parametru - elemente ale blocului HL ID:

Pur și simplu nicăieri! Rămâne să învețe cum să actualizeze elemente. Aici, de asemenea, totul este simplu. Pentru a face acest lucru, este metoda de actualizare. care are doi parametri - HL element de bloc ID matrice și tipul de date „câmp personalizat“ => „valoare pentru câmpul“:

Asta e tot. După cum puteți vedea, nimic complicat și teribil în blocuri Highload-nr. Dar, încă o dată, nu este necesar să le creați pentru fiecare strănut. Este important să se înțeleagă atunci când acestea sunt cu adevărat necesare, iar atunci când este vorba doar de răsfăț.