Model-view-controller, yazılım mühendisliği’nde kullanılan bir “mimari desen”dir. Kullanıcıya yüklü miktarda verinin sunulduğu karmaşık uygulamalarda veri ve gösterimin soyutlanması esasına dayanır. Böylelikle veriler (model) ve kullanıcı arayüzü (view) birbirini etkilemeden düzenlenebilir. Model-view-controller, bunu controller adı verilen ara bileşenle, veri gösterimi ve kullanıcı etkileşiminden, veri erişimi ve iş mantığını çıkarma suretiyle çözmektedir.
M (Model), İş Mantığını ve data işleme süreçlerini yürütür. C (Controller) tarafından gönderilen emirlere göre hareket eder. Bilgi işleme sürecinden sonra datayı C’ye, diğer modellere veya doğrudan V (View)’ye gönderir.
PHP Faces Model katmanında PDO ve ORM Kullanır
V (View) son kullanıcıya gösterilecek olan datanın sunumu ile ilgilenir. V, bu bilgiyi C veya M’den alır, aynı zamanda son kullanıcıdan gelen talepleri C’ye iletir.
C (Controller)
C ise sistemin ana kısmıdır. Gelen talepleri kontrol eder ve sistemin diğer elemanlarının (M,V) bilgiyi uygun şekilde alıp, göndermelerini sağlar.
PHP Faces içerisinde üç farklı Controller barındırır bunlar
- ActionController
- FacesController
- Facet
ActionController sıradan olay yönelimli olamayan bir yapıdadır
FacesController olay yönelimlidir
Facet FacesController dan türemiş FacesController u basitleştirmiştir.
PHP Faces i diğerler MCV Çatılarından ayıran özelliği ise Controller ve View arasında bileşenlerin bulunmasıdır
PHP Faces MVC için dizin yapısı şöyledir
AppPath:
/phpfaces : Framework folder
/applications : uygulamalar
app_bir /controllers
/views
/models
app_two /controllers
/views
/models
.htaccess













