Контакты
Телефон: (812) 953-03-47
Форма обратной связи
|
История проекта e-Штаб
Докладчик
Анатолий Ларин (e-Легион, веб-программист)
Тезисы
1. Архитектура:
- Zend_Application, Zend_Config, Zend_Controller, Zend_Router
- MySQL, Zend_Db_Select, Zend_Db_Table, Zend_Db_Row (Table и Row часто выступали в роли модели)
- Smarty (отказались от phtml из-за слишком большой гибкости, возможности изменять данные в шаблоне)
- Zend_Feed, Zend_Pagination, Zend_Openid
2. Проблемы:
- Автоэскейпинг для Smarty
Проблемой стала забывчивость программистов, пропускали очень много XSS. Проблема была решена патчем для Smarty, с автоэкранированием переменных.
- Консольные задачи
Zend Framework не предоставляет инструментов для создания консольных задач (crontab, management tasks).
- Много проблем связанных с кодировками, 10 непонятных строчек в init.php
- Неинтуитивность URL-Router (снизу вверх)
Ненаглядность route-конфигураций
- Ошибка в длинной русской теме письма
Пришлось потратить пару дней, чтобы обойти проблему.
http://framework.zend.com/issues/browse/ZF-1688 (07.07.07—18.01.09)
- Notice, warning, вместо exception
Вначале мы не обращали на них внимания, и несколько раз это приводило к ошибкам. В итоге у нас не выработался правильный стиль кодирования, в отличии от других языков, где некачественный код не пропускается компилятором/интерпретатором.
- Реиспользуемость
Практически ни один из участков кода не получалось использовать
повторно. Очень много новый вещей создавались копированием
существующего кода.
Обсудить доклад «История проекта e-Штаб» →
Презентация
|
|