Реализовывать социальную сеть нового поколения предлагается на языке программи- рования PHP с использованием платформы разработки Symfony. Symfony – MVC- платформа (Model-View-Controller), помогающая программисту отделять бизнес-логику от представления [6]. Разработка на основе MVC-платформ, одной из которых является среда разработки Symfony, дает следующие преимущества:
четкое отделение логики от дизайна, что дает большие преимущества при кол- лективной разработке, а также при повторном использовании кода;
реализованная в платформе абстракция при работе с данными – ORM (Object- Relational Mapping) [7], позволяет легко перейти на другую СУБД, поменяв од- ну лишь строчку в конфигурационном файле;
гибкие настройки маршрутов, позволяющие легко формировать и разбирать сложные URL-адреса;
модульный подход при организации web-приложения;
гибкие настройки для обеспечения безопасности, защиты от атак, и различного поведения платформы;
удобные инструменты для отладки web-приложений, такие как вывод отладоч- ных сообщений, количество запросов к БД и самих запросов, времени, затра- ченного на выполнения программы, системных переменных PHP;
наличие обработчика ошибок;
доступность большого количество дополнений (плагинов) с уже реализованной функциональностью, типичной для построения web-приложений.
Web-приложение, разработанное на основе Symfony, делится на модули. В каждом мо- дуле имеется класс-контроллер, его методы являются действиями модуля. Каждый запрос к web-странице вызывает действие какого-то контроллера. Например, обращение к ресур- су http://your.site.com/mail/list скорее всего вызовет действие list модуля mail. Эти пути легко настраиваются с помощью конфигурационных файлов, поэтому логика вызова дей- ствий может быть и иная. Действие извлекает данные из базы данных или другого ресурса
и отправляет их представлению, которое в свою очередь располагает их на странице нуж- ным образом.
Действия каждого модуля располагаются в файле actions.class.php, расположенном в подкаталоге actions каталога модуля. В этом файле находится класс ModuleActions (где Module – имя модуля), методы которого и являются действиями. Подробнее о структуре папок приложения можно прочесть в разделе 3.5.
Достарыңызбен бөлісу: |