Web framework

lupo

Новичок
Web framework

У кого есть время и желание, пожалуйста гляньте данный архив:
http://cs.mooby.org/src/cs.tar.gz
Рабочая версия доступна здесь: http://cs.mooby.org/
(домен сделан недавно, возможно не всеми днс подхвачен)

Запустить это у себя у вас не получится, потому как в архиве только сама реализация, без рабочих библиотек.
Мне интересны ваши комментарии об таком методе создания веб-сайтов, в частности метод "шаблонизации" и MVC.
Во многих местах используется Zend Framework, только со своим методом роутинга и шаблонов.

В архиве грубо говоря приложение, маленькая реализация обычной задачи редактирования таблицы.

В двух словах что происходит при запуске:
1. Заглавная страница это /index/IndexController.php и его метод indexAction. Переменная класса IndexController содержит массив всех записей.
2. В корне /app шаблон index.tpl является "загрузочным", он вызывает CS::Template("PageBody"). Шаблон PageBody.tpl получает "контекст" метода indexAction класса IndexController, таким образом там доступен массив $this->users
3. URL /user/add является ссылкой на метод addAction класса /user/UserController.php. Запрашивая эту страницу выполнится шаблон /index.tpl который вызовет PageBody.tpl, а потому-как в папке /user находится свой шаблон PageBody.tpl то он "подставится" вместо того, который в корне сайта.
4. Шаблон /user/PageBody.tpl вызывает CS::Template($this->template), переменная класса UserController $this->template назначается в самом методе addAction() и editAction($id).
5. Вызов страницы /user/edit/:id ссылается на метод editAction($id), переменная $id будет содержать то что указали после слеша в адресе, в случае если не передать обязательный параметр (т.е. вызвать просто /user/edit) сгенерируется ошибка 404. Параметров можно указывать и несколько, например описать метод как: editAction($id, $name) и передавать их так: /user/edit/1/Vasya

В общем гдето-так это и работает. Можно писать и намного сложнее, вложенные классы например, обязательные и необязательные параметры методов, связи между вложенными классами getParent(), getPath() и т.п.

Будет интересно услышать ваше мнение, комментарии и идеи.
 

tecgnotes

Новичок
Рут без пароля...странно

Fatal error: Uncaught exception 'Zend_Db_Adapter_Exception' with message 'SQLSTATE[28000] [1045] Access denied for user 'root'@'localhost' (using password: NO)' in
 

lupo

Новичок
Блин, залил новую версию и забыл пароль поставить, 5 мин.
 

tf

крылья рулят
lupo, что ты хочеш услышать, изв мне не совсем понятен в чем вопрос?
 

tf

крылья рулят
знаеш хз,
как говорится свое болото теплее
там мало что написано и нечего пока смотреть в купе, начал нормально, но ведь важно не как ты решает простые задачи а как ты решает сложные задачи
 
Сверху