Każda aplikacja webowa, tak jak każdy plik na dysku, musi mieć ustawione uprawnienia dla konkretnych użytkowników, lub grup użytkowników. O listach kontroli dostępu ( ang. Access Control List) zapewne słyszał każdy. Jedną z prostszych implementacji takiej listy jest zwykła baza loginów i haseł dostępowych. Co zrobić, gdy jednak potrzebujemy bardziej zaawansowanego systemu kontroli dostępu? Możemy wykorzystać jedną z gotowych bibliotek, np. PHP Generic Access Control List, ale możemy także sami napisać taki system - dobrze jest wtedy wykorzystać częściowo napisane mechanizmy, na przykład pochodzący z Zend Frameworka - Zend_Acl.
Model View Controller MCV jest sprawdzonym wzorcem na oddzielenie interfejsu użytkownika od warstwy logicznej aplikacji. Pierwotnym celem MVC jest odizolowanie Interfejsu użytkownika i umożliwienie operowania na oddzielonej od widoku warstwie logicznej aplikacji.
Jeżeli jesteś jednym z tych deweloperów, którzy chcą rozszerzyć swoją wiedzę z zakresu projektowania aplikacji zgodnego z zasadami programowania obiektowego, artykuł ten będzie ci z pewnością pomocny. Jest to jeden z serii trzech artykułów, dzięki którym nauczysz się, jak skonstruować prosty schemat aplikacji opartej na trójwarstwowej strukturze Model-View-Controller (Model-Widok-Kontroler, zwanej dalej MVC), którą w prostu sposób można rozszerzyć i wykorzystać do tworzenia bardziej skomplikowanych rozwiązań. W niniejszym artykule wszystkie przykłady opierają się na klasach PHP.