Suport pentru clasa de componente

Zaitsev Artemij:
Acum cred că componentele mari sunt rele, chiar și cu clase. Am pus clasele în fișiere separate și le-am conectat autoloader-ul.
Dar se întâmplă că aveți nevoie de o pereche de funcții în componentă. Și atunci o astfel de clasă va fi foarte utilă. Și variabilele statice din clasă.







A fost proiectat cu un ochi la el.
Logica de afaceri greu este mai bine să păstreze într-o astfel de esență ca un "modul".

Versiunea 12.0.0 acceptă clasele de componente. Este implementat ca un fișier /component_name/class.php. Class.php este un nume de fișier rezervat, iar acest fișier este conectat automat când este sunat:

Aceasta numește metoda finală initComponent în care class.php este atașat (dacă există) și moștenitorul de la CBitrixComponent este luat din ea.







nu va avea succes. Ca rezultat, va fi folosit CDemoTestDecorator2.

Rețineți că modificarea clasei de bază a componentei va lua în considerare comportamentul tuturor copiilor (alte componente).

Exemple de utilizare

Luați în considerare componenta cea mai simplă a parametrului de calibrare.

În componentele reale, în loc de o operație de multiplicare, pot exista trei duzini de rânduri și astfel de operațiuni pot fi 5-6. Ca rezultat, fișierul component.php se transformă într-un "lucru în sine" greu de înțeles.

Selectați logica componentei din clasă.

Acum, codul din fișierul component.php a devenit ușor de gestionat.

Moștenirea componentelor

Componenta fara component.php

De asemenea, puteți crea o componentă fără fișierul component.php

Pentru a face acest lucru, este suficient să înlocuiți metoda executeComponent. De exemplu:

Acum puteți șterge fișierele component.php din ambele componente.







Articole similare

Trimiteți-le prietenilor: