MVC este un concept foarte raspandit in programarea Web. Scopul MVC este de a tine separate logica business-ului si interfata utilizator, astfel incat cei care intretin aplicatia sa schimbe mult mai usor o parte, fara a afecta alte parti. In MVC, modelul contine informatiile (datele) si regulile business; view contine elemente din interfata utilizator (texte, input-uri ale formularelor etc); controller-ul genstioneaza comunicatia dintre model si view.
In afara de MVC, Yii introduce un front-controller, cu numele application, care reprezinta contextul in care se executa procesarea cererii client. Application rezolva cererea utilizator si o trimite mai departe controller-ului corespunzator care va trata efectiv cererea.
urmatoarea diagrama arata structura statica a unei aplicatii Yii:
Structura statica a aplicatiei Yii
Urmatoarea diagrama arata fluxul tipic de lucru al unei aplicatii Yii atunci cand trateaza o cerere client:
Fluxul tipic al aplicatiei Yii
http://www.example.com/index.php?r=post/show&id=1
,
iar serverul Web trateaza cererea prin executarea fisierul bootstrap index.php
.index.php
creaza o instanta application si o ruleaza. request
.urlManager
.
In acest exemplu, controller-ul este post
si se refera la clasa PostController
;
action-ul este show
, iar semnificatia numelui este determinata de controller-ul in cauza.show
se refera la metoda cu numele actionShow
din clasa controller-ului.
Apoi, aplicatia creaza si executa filtrele (ex. controlul accesului, benchmarking, etc) asociate
cu aceast action. Action-ul este executat daca este permis de catre filtre.Post
al carui ID este 1
.show
si cu modelul Post
.Post
.
Signup or Login in order to comment.