- •Глава 1. Теоретические основы технологий symfony framework 7
- •Глава 2. Создание приложения на основе технологий symfony framework 51
- •Введение
- •Глава 1. Теоретические основы технологий symfony framework
- •1.1. История развития веб-технологий и существующие проблемы
- •1.2. Обзор типовых решений в области веб-разработки
- •1.3. Модель mvc и ооп в веб-программировании
- •1.4. Назначение и установка Symfony Framework
- •1.5. Структура Symfony Framework
- •1.5.1. Конфигурация
- •1.5.2. Бандлы
- •1.5.3. Сущности Doctrine
- •1.5.4. Маршрутизация
- •1.5.5. Контроллеры
- •1.5.6. Шаблонизатор Twig
- •1.5.7. Генерация форм и валидация
- •1.5.8. Безопасность
- •1.5.9. Сервисы
- •1.5.10. Консольные команды
- •1.5.11. Механизмы тестирования
- •1.6. Развертывание приложения Symfony
- •Глава 2. Создание приложения на основе технологий symfony framework
- •2.1. Постановка задачи
- •2.2. Настройка develop-сервера и установка Symfony
- •2.3. Установка дополнительных библиотек через composer
- •2.4. Вёрстка шаблона, npm, webpack
- •2.5. Генерация сущностей и форм
- •2.6. Определение маршрутов и контроллеров
- •2.7. Создание и настройка сервисов
- •2.8. Написание консольных команд и заданий cron
- •2.9. Тестирование
- •2.10. Перенос проекта на production-сервер
- •Заключение
- •Список литературы
- •Приложения
Заключение
Современный этап развития технологий в области веб-проектирования предоставляет возможности для разрешения проблем, являющихся актуальными и глобальными. В ходе выполнения выпускной квалификационной работы были поставлены и решены следующие задачи.
В ходе анализа существующих современных технологий и моделей в области веб были обозначены проблемы в области веб-разработки и приведены некоторые типовые решения, способствующие устранению обозначенных проблем и противоречий. В качестве методологии в области веб-проектирования был обозначен шаблон проектирования MVC, реализующий ООП-подход в области веб.
Технологии Symfony Framework отвечают современным требованиям и стандартам, поддерживают шаблон проектирования MVC, обеспечивают безопасность доступа к данным, увеличивают быстродействие запросов, обладают высоким уровнем масштабируемости. Основные компоненты Symfony Framework: бандлы, Doctrine, маршрутизация, контроллеры, шаблонизатор Twig, сервисы и т.д. – предоставляют инструментарий для разработки сложно структурируемых веб-приложений в соответствии с принятыми стандартами в области веб. Отсутствие официальной русскоязычной документации по Symfony Framework поставило дополнительную задачу по адаптации официальной документации разработчика на русский язык.
На основе анализа моделей и подходов в области веб, инструментария и функционала Symfony Framework в качестве демонстрации программной реализации возможностей его компонентов и подходов был реализован интернет-магазин, иллюстрирующий типовой процесс разработки веб-приложения, отвечающего современным требованиям. В работе большое внимание было уделено техническим вопросам по настройке и развертыванию проекта на production-сервере.
Для разработанного приложения были написаны функциональные автоматизированные тесты, на основании которых осуществлено тестирование приложения.
Таким образом цель выпускной квалификационной работы – выполнить анализ возможностей технологий Symfony Framework и реализовать приложение интернет-магазина компьютерных игр на основе современных подходов в области веб-разработки – была достигнута.
Результаты выпускной квалификационной работы могут быть использованы как теоретическое пособие по Symfony Framework, а практическая разработка - в качестве модели проектирования и реализации веб-приложения. При соответствующей адаптации к предметной области приложение может быть использовано как полноценный интернет-магазин.
Список литературы
History of the Web. URL: http://webfoundation.org/about/vision/history-of-the-web/ (дата обращения: 13.05.2016)
Internet Live Stats. URL: http://www.internetlivestats.com/ (дата обращения: 15.04.2017)
Selmanovic D.. The 10 Most Common Mistakes Web Developers Make. URL: https://www.toptal.com/web/top-10-mistakes-that-web-developers-make (дата обращения: 15.04.2017)
Helmke M., Joseph E., Rey J., Ballew P., Hill B. The Official Ubuntu Book. Upper Saddle River, NJ: Prentice Hall, 2014. 368 c.
Simpson K. You Don't Know JS: ES6 & Beyond. Sebastopol, CA: O'Reilly Media, 2015. 280 с.
Composer. URL: https://getcomposer.org/doc/ (дата обращения 19.04.2016)
Npm Documentation. URL: https://docs.npmjs.com/ (дата обращения 19.04.2017)
Potencier F. The Twig Book. Paris: SensioLabs, 2017. 156 с.
Romer M. PHP Persistence: Concepts, Techniques and Practical Solutions with Doctrine. New York City, NA: Apress, 2016. 107 с.
Chacon S., Straub B. Pro Git. New York City, NA: Apress, 2016. 456 с.
Chaudhary M., Kumar A. Birmingham. PhpStorm Cookbook. Birmingham: Packt Publishing, 2014. 256 с.
Webpack. URL: https://webpack.js.org/ (дата обращения 10.04.2017)
Material Design Light. URL: https://getmdl.io/ (дата обращения 21.04.2017)
Less.js: Getting started. URL: http://lesscss.org/ (дата обращения 21.04.2017)
Potencier F. Symfony. The Book. Paris: SensioLabs, 2016. 219 с.
Stones R. Beginning Databases with PostgreSQL: From Novice to Professional. New York City, NA: Apress, 2016. 664 с.
Hopkins C. The MVC Pattern and PHP. URL: https://www.sitepoint.com/the-mvc-pattern-and-php-1/ (дата обращения 11.04.2017)
Bierer Doug. PHP 7 Programming Cookbook. Birmingham: Packt, 2016. 610 с.
A Framework or a CMS? What is better to choose? URL: http://www.web-and-development.com/a-framework-or-a-cms-what-is-better-to-choose/ (дата обращения 11.04.2017)
Symfony versus Flat PHP. URL: https://symfony.com/doc/current/introduction/from_flat_php_to_symfony2.html (дата обращения 11.04.2017)
Symfony. URL: https://www.drupal.org/project/symfony (дата обращения 11.04.2017)
FOSUserBundle. URL: http://knpbundles.com/FriendsOfSymfony/FOSUserBundle (дата обращения 11.04.2017)
SonataAdminBundle. URL: https://sonata-project.org/bundles/admin/3-x/doc/index.html (дата обращения 11.04.2017)
Methodology BEM. URL: https://en.bem.info/methodology/ (дата обращения 20.04.2017)
Robokassa user manual. URL: https://docs.robokassa.ru/en/ (дата обращения 25.04.2017)
CronHowto. URL: https://help.ubuntu.com/community/CronHowto (дата обращения 25.04.2017)
Bergmann S. PHPUnit Manual. Siegburg: Sebastian Bergmann, 2017. 175 с.
PHP Coding Standards Fixer. URL: http://cs.sensiolabs.org/ (дата обращения 10.06.2017)
