Разработка системы
На основании сравнительного анализа для разработки системы электронного документооборота сопровождения проектов (СЭДОСП) для компании Дальстройсервис был выбран фреймворк Symfony и СУБД PostgreSQL. Данный выбор базировался на простоте установки, настройки и использования.
Для обеспечения наилучшей отказоустойчивости серверной операционной системой выл выбран Debian. Стоит отметить что выбранные ранее Symfony и PostgreSQL прекрасно сочетаются с операционными системами семейства Linux.
Для начала создания системы необходимо установить следующие компоненты:
· веб-сервер Apache2
· PHP 5.2.4
· СУБД PostgreSQL
После чего можно приступать к установке самого фреймворка.
Выдающейся особенность Symfony является его простота. Для начала работы необходимо знать лишь основы РНР5 и ООП, а так же основные команды консоли Linux. Для установки Symfony необходимо разархивировать скачанный дистрибутив в заранее созданную папку проекта, а затем при помощи встроенной команды «generate:project» сгенерировать проект. При этом необходимые дополнительные каталоги будут созданы автоматически. Изначально проект имеет следующую структуру:
apps/ |
Содержит все приложения проекта |
cache/ |
Кэш фреймворка |
config/ |
Конфигурационные файлы фреймворка |
lib/ |
Библиотеки и классы проекта |
log/ |
Логи фреймворка |
plugins/ |
Установленные плагины |
test/ |
Файлы для модульного и функционального тестирования |
web/ |
Корневая папка с веб-файлами |
Далее необходимо создать само приложение. Как и в случае с генерацией проекта, структура каталогов генерируется автоматически после выполнения команды «generate:app», и имеет следующую структуру:
Директория |
Описание |
config/ |
Конфигурационные файлы приложения |
lib/ |
Классы и библиотеки приложения |
modules/ |
Код приложения (MVC) |
templates/ |
Глобальные шаблоны приложения |
Последним этапом перед началом написания непосредственно самого приложения остается конфигурирование веб-сервера Apache2. Для этого необходимо отредактировать системный файл «httpd.conf», который находится в директории веб-сервера, и привести его к следующему виду:
NameVirtualHost 127.0.0.1:8080
Listen 127.0.0.1:8080
<VirtualHost 127.0.0.1:8080>
DocumentRoot "/home/www/dss/public_html/web"
DirectoryIndex index.php
<Directory "/home/www/dss/public_html/web">
AllowOverride All
Allow from All
</Directory>
Alias /sf /home/www/dss/public_html/lib/vendor/symfony/data/web/sf
<Directory "/home/www/dss/public_html/lib/vendor/symfony/data/web/sf">
AllowOverride All
Allow from All
</Directory>
</VirtualHost>
А так же добавить соответствующую запись в файл hosts.
На данном этапе можно проверить работоспособность созданного сайта в браузере по ссылке:
www.dss.lan
Для простоты и удобства разработки фреймворк Symfony в нем используются так называемые окружения. В нашем случае мы будем использовать следующие из них
· Окружение разработки: Используется веб-разработчиками, когда они работают над приложением, чтобы добавить новый функционал, исправить ошибки и т.д.
· Тестовое окружение: Используется для запуска автоматизированных тестов приложения.
· Демонстрационное (staging) окружение: Используется заказчиком для поиска ошибок и недоделок.
· Промышленное (production) окружение: Используется конечными пользователями.
Что делает окружение уникальным? К примеру в окружении разработки, приложение должно логгировать все детали запроса для облегчения отладки, а система кэширования должна быть отключена, чтобы все сделанные в коде изменения, сразу же были видны. Т.о., окружение разработки должно быть оптимальным для разработчика. Лучшей иллюстрацией будет ситуация возникновения исключения. Чтобы помочь разработчику быстрее понять, что произошло, Symfony отображает всю информацию об исключении и текущих параметрах запроса прямо в браузере.
Однако, в промышленном окружении, кэш должен быть включен, и, конечно, приложение должно отображать понятные пользователям сообщения об ошибках, вместо описания исключений. Т.о., промышленное окружение доложно быть оптимизировано для максимального комфорта конечного пользователя.
Панель отладки тоже является хорошим примером использования разных окружений. Она присутствует на всех страницах в окружении разработки и дает Вам доступ к большому количеству информации при помощи кликов по различным иконкам: текущая конфигурация приложения, логи текущего запроса, SQL-запросы, выполненные в базе данных, используемая память, время загрузки страницы.
Далее следует процесс создания отдельных приложений, которые будут
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.