Reutilizarea codului a fost întotdeauna considerată (și este considerată) un ton bun, iar YAP-urile moderne ne oferă o gamă destul de largă de oportunități pentru a face acest lucru. Astăzi, să vorbim despre caracteristicile folosirii comportamentelor și a trăsăturilor în Yii2.
Chiar și în prima versiune a cadrului Yii, mi-a plăcut foarte mult conceptul cu comportamente. Cred că în acel moment a fost o soluție excelentă. Dar odată cu lansarea lui PHP 5.4.0 au început să înlăture trăsăturile. Acum, în mai multe cazuri le folosesc. Acum vă voi spune ce și în ce cazuri folosesc.
- Sunt mai rapizi. Aceasta este construcția limbii.
- Când le folosiți, se consumă mai puțină memorie.
- Puteți descrie metode și câmpuri statice.
- Nu puteți atașa direct pe mâna dvs. la evenimente. Dar aceasta, de regulă, este rezolvată de o atașament la evenimentele din metoda init (). Acest lucru va funcționa dacă această metodă nu este descrisă în "clasa parentală".
- PhpStorm 8 nu evidențiază în mod corespunzător sintaxa
- Evenimentele yii sunt agățate cu ușurință.
- PhpStorm 8 subliniază corect sintaxa.
- Nu puteți descrie metode și câmpuri statice.
- Mai lent, "mai gras" din memorie.
Exemplu de adăugare a traducătorilor evenimentelor
De obicei, creez o metodă attachEventHandlers (), în care am agățat operatorii necesari pe model.
Și în metoda init (), eu o numesc.
Aceasta funcționează dacă clasa init nu este redefinită în clasa parentală. În caz contrar, adaug doar un apel la $ this-> attachEventHandlers ().