Modulul privind elementele fundamentale, ghidul definitiv la Yii, Yii cadru php

Modulul - o unitate de software autonom, care este format din modele. reprezentări. controlere și alte componente. În multe feluri, similar cu modul de aplicare. Principala diferență constă în faptul că modulul nu poate fi utilizat de la sine - doar o parte a cererii. Utilizatorii pot accesa controlorii într-un modul, în același mod ca și în cazul cu controlere normale de aplicare.

1. Crearea modulului ¶

Un modul este organizat ca un director al cărui nume servește ca ID-ul său unic. Structura directorului modulului este similar cu structura directorului bazei de aplicare. Mai jos este o structură tipică a unui forum modul director numit:

În directorul rădăcină al modulului trebuie să fie în clasa modulul care moștenește CWebModule. Numele clasei este determinat folosind expresia ucfirst ($ id). „Module“. în cazul în care $ id se referă la modulul (sau numele directorului modulului). clasa modul servește ca un depozit central de informații, componentele modul folosit în comun. De exemplu, putem folosi CWebModule :: params pentru a stoca parametrii modulului, precum și CWebModule :: componente pentru partajare la nivel de modul al componentelor aplicației.

Sfat: Pentru a crea un cadru de bază modul, puteți utiliza modulul generator, care face parte din GII.

2. Folosirea modulului ¶

Pentru a utiliza modulul, primul loc in directorul modulului sub module de directorul de baza al aplicatiei. Apoi, declară ID-ul modulului în proprietatea module ale aplicației. De exemplu, pentru a folosi forumul modulului. prezentată mai sus, este posibil să se utilizeze următoarea aplicație de configurare:

În plus, modulul de proprietate valorile inițiale pot fi setate. Procedura de utilizare a acestora, precum și cu componentele aplicației. De exemplu, modulul forum poate avea din clasa sa o proprietate numita postPerPage. care poate fi setat în configurația aplicației, după cum urmează:

Instanța modul poate fi accesat prin proprietatea modul al controlerului activ în prezent. Prin instanța modul, puteți accesa datele partajate la nivelul modulului. De exemplu, pentru a aborda proprietatea postPerPage mai sus menționat. putem folosi următoarea expresie:

Sfat: Dacă regulatorul este într-un sub-director de controlere. putem folosi, de asemenea, formatul de rută. de mai sus. De exemplu, să presupunem că operatorul este în PostController forum / controlere / folder admin. atunci putem transforma pentru a crea o acțiune prin forum / admin / bara / creați.

3. Module integrate ¶

Modulele pot fi imbricate unul în altul de multe ori, de exemplu, un modul poate conține un altul, care conține o alta. În primul rând noi numim modulul părinte. al doilea - Unitate-copil. Module pentru copii trebuie să fie descrise în modulul de proprietate module-mamă în același mod ca și vom descrie modulele din fișierul de configurare aplicație.

Pentru a accesa o acțiune controler într-un modul copil utilizează ruta parentModuleID / childModuleID / controllerID / actionID.