Илья2
Guest
PHP Framework (II)
Стан в "PHP Framework I" поднял вопрос о шаблонах веб программирования (каркасах), вот я хочу дать на растерзание один работающий вариант
(особо за английский сильно не ругайте - не ученые мы)
elementalSiteMaker
так около 50 классов, разбитых по 20 папкам.
значит вот так выгляди страница логина:
и все, все остальное делает класс Manager - он всем заведует, потом есть Controller - он отвечает за дествия над контентом, есть View - он отвечает за отображение, URLKeeper - он отвечает за хранение ссылок, делает редирект.
\include\Page\Core - тут находятся абстрактные, от них наследуются, далее идет \include\Page\Auth
- для проверки аутентификации и отображения текущего пользователя.
Значит схема работы каркаса такая:
менеджеру говорят - "давай работай", он спрашивает контроллера "есть ли действия над контентом в запросе?" если есть, то говорит контроллеру "сделай действие", и делает редирект на себя.
если нет действий, то говорит вьюверу "отобрази страницу".
ну вот и все
выглядит это примерно так:
уже контроллер и вьювер работают с "контентной" частью, в PageSiteEdit это особенно видно, они работают с классом PageContent.php который предоставляет интерфейс для модификации контента (для контроллера) и интерфейс для просмотра контена (для вьювера)
пока все, остальное смотрите в исходниках
Стан в "PHP Framework I" поднял вопрос о шаблонах веб программирования (каркасах), вот я хочу дать на растерзание один работающий вариант
(особо за английский сильно не ругайте - не ученые мы)
elementalSiteMaker
так около 50 классов, разбитых по 20 папкам.
значит вот так выгляди страница логина:
PHP:
$pageManagerLogin = new PageManagerLogin();
$pageManagerLogin->manage();
\include\Page\Core - тут находятся абстрактные, от них наследуются, далее идет \include\Page\Auth
- для проверки аутентификации и отображения текущего пользователя.
Значит схема работы каркаса такая:
менеджеру говорят - "давай работай", он спрашивает контроллера "есть ли действия над контентом в запросе?" если есть, то говорит контроллеру "сделай действие", и делает редирект на себя.
если нет действий, то говорит вьюверу "отобрази страницу".
ну вот и все
выглядит это примерно так:
PHP:
function manage(){
if( $this->pageController->isActionInRequest() ){
$this->pageController->makeAction();
$this->urlKeeper->redirect();
}
else{
$this->pageViewer->showPage();
}
}
пока все, остальное смотрите в исходниках