SlideShare a Scribd company logo
1 of 12
ФРЕЙМОВРКИ И ЗАЧЕМ ОНИ
НУЖНЫ? SYMFONY
NARTEA NICHITA, USM
ЧТО ТАКОЕ ФРЕЙМВОРК?
Фреймворк - готовая модель в IT, заготовка, шаблон для программной платформы, на основе которого
можно дописать собственный код.
Проще говоря, фреймворк — это как готовая скелетная структура для программ. Это как готовый домик
без внутренней отделки. Ты можешь добавлять свои комнаты и мебель, но основу уже придумали за тебя.
К примеру, всю работу с базой данных на себя берет фреймворк, а разработчику лишь необходимо сказать,
какие данные и где хочется хранить. Фреймворк обеспечивает уже готовые инструменты и правила для
создания, редактирования и извлечения информации из базы данных
FRONTEND VS. BACKEND
Прежде чем мы погрузимся в более глубокое изучение фреймворков, имеет
смысл предварительно рассмотреть различия между Frontend и Backend.
Простыми словами,
 Frontend — это визуальный маг, создающий волшебство непосредственно
перед глазами пользователей. Он создает милые кнопки, уютные формы и
удивительные анимации, которые делают веб-страницы красочными и
привлекательными.
 Backend, с другой стороны, — это тихий гений, работающий в тени. Он
отвечает за все то, что происходит за кулисами. Он управляет базами
данных, обрабатывает запросы пользователей и обеспечивает безопасность.
Таким образом, Frontend и Backend как два хорошо согласованных партнера
создают гармонию в веб-разработке.
СОВРЕМЕННЫЕ FRONTEND И BACKEND ФРЕЙМВОРКИ
Backend фреймворки Frontend фреймворки
Django (Python) React
Symfony (PHP) Vue
Spring (Java) Angular
Laravel (PHP) jQuery
ASP.NET (C#) Emberjs
Express.js (JS) Meteor.js
BACKEND ФРЕЙМВОРКИ. SYMFONY
Symfony — это набор компонентов PHP, веб-фреймворк для приложений,
философия и сообщество, все вместе гармонично взаимодействующие:
 Фреймворк Symfony — ведущий фреймворк на PHP для создания веб-
сайтов и веб-приложений. Построен на основе компонентов Symfony
 Компоненты Symfony — набор независимых и повторно используемых
компонентов, на основе которых создаются лучшие приложения на PHP,
такие как Drupal, Prestashop и Laravel
 Сообщество Symfony — группа более чем 600 000 разработчиков из более
чем 120 стран, все они стремятся помочь PHP преодолеть невозможное
КОМПОНЕНТЫ SYMFONY FRAMEWORK
Symfony
HttpFoundation
Обработка HTTP-
запросов и
создание HTTP-
ответов
Routing
Управление
маршрутизацией
Form
Создание и
обработка веб-
форм
Security
Обеспечение
аутентификации,
авторизации и
защиты
приложения
HttpKernel
Основа обработки
запросов и
создания ответов
Twig
Шаблонизатор
для создания
шаблонов
Doctrine
Инструменты для
работы с базой
данных
ПАКЕТНЫЙ МЕНЕДЖЕР PHP — COMPOSER
Composer – пакетный менеджер PHP. Этот инструмент позволяет
вам указать библиотеки и пакеты (зависимости), от которых
зависит ваш проект, и автоматически управлять процессом их
установки и обновления.
 Установить composer:
https://getcomposer.org/download/
 Установка пакетов
$ composer require <package>
 Обновление пакетов
$ composer update
УСТАНОВКА SYMFONY #1
 Технические требования для установки:
 >= PHP 8.1
 Установленный Composer
 Установка Symfony CLI – инструмента для разработки и запуска вашего приложения Symfony локально
https://github.com/symfony-cli/symfony-cli
 Подробный гайд установки Symfony:
https://symfony.com/doc/current/setup.html
УСТАНОВКА SYMFONY #2
УСТАНОВКА SYMFONY С ПОМОЩЬЮ CLI
 Установка Symfony с помощью утилиты `symfony`
# установка традиционного web-приложения
$ symfony new my_project_directory --version="6.3.*" --webapp
# установка symfony, если вы разрабатываете микросервис, API, или консольное приложение
$ symfony new my_project_directory --version="6.3.*“
 Установка Symfony с помощью composer
$ composer create-project symfony/skeleton:"6.3.*" my_project_directory
$ cd my_project_directory
$ composer require webapp
ЗАПУСК ПРИЛОЖЕНИЯ SYMFONY
 Запуск приложения Symfony
$ symfony server:start
 Установка пакетов (Логгера)
$ composer require logger
СТРУКТУРА ДИРЕКТОРИЙ
 bin/: Исполняемые файлы
 config/: Конфигурационные файлы
 packages/: Конфигурации различных пакетов
 routes.yaml: Определение маршрутов
 services.yaml: Конфигурация сервисов
 framework.yaml: Конфигурация фреймворка
 public/: Веб-доступные файлы
 src/: Исходный код проекта
 Controller/: Контроллеры
 Entity/: Классы сущностей (для работы с БД)
 Form/: Классы форм Symfony
 Repository/: Репозитории для работы с базой данных
 Service/: Сервисы
 templates/: Шаблоны представлений
 tests/: Тесты
 translations/: Переводы
 var/: Временные данные (кэш, логи и т.д.)
 vendor/: Зависимости (установленные пакеты)
 ... (другие файлы и директории)
СПАСИБО ЗА ВНИМАНИЕ!
ВОПРОСЫ?

More Related Content

Similar to 1_symfony_introduction.pptx

Экскурс в мир WEB разработки
Экскурс в мир WEB разработкиЭкскурс в мир WEB разработки
Экскурс в мир WEB разработкиIT-Доминанта
 
Как создать сайт с нуля за 1 день
Как создать сайт с нуля за 1 деньКак создать сайт с нуля за 1 день
Как создать сайт с нуля за 1 деньАлександр Лысяк
 
Сравнение рынков Content Management Software тут и там
Сравнение рынков  Content Management Software тут и тамСравнение рынков  Content Management Software тут и там
Сравнение рынков Content Management Software тут и тамMedia Gorod
 
10 компонентные и офисные приложения на платформе microsoft
10 компонентные и офисные приложения на платформе microsoft10 компонентные и офисные приложения на платформе microsoft
10 компонентные и офисные приложения на платформе microsoftKewpaN
 
Remote (dev)tools своими руками
Remote (dev)tools своими рукамиRemote (dev)tools своими руками
Remote (dev)tools своими рукамиRoman Dvornov
 
[JAM 1.1] Symfony (Alexei Yanochkin)
[JAM 1.1] Symfony (Alexei Yanochkin)[JAM 1.1] Symfony (Alexei Yanochkin)
[JAM 1.1] Symfony (Alexei Yanochkin)Evgeny Kaziak
 
2015-12-12 | AzovDevMeetup 2015 | Enterprise приложения на PHP | Павел Крынецкий
2015-12-12 | AzovDevMeetup 2015 | Enterprise приложения на PHP | Павел Крынецкий2015-12-12 | AzovDevMeetup 2015 | Enterprise приложения на PHP | Павел Крынецкий
2015-12-12 | AzovDevMeetup 2015 | Enterprise приложения на PHP | Павел КрынецкийJSC “Arcadia Inc”
 
10 мифов о WordPress
10 мифов о WordPress10 мифов о WordPress
10 мифов о WordPressAlexey Vidanov
 
Проектирование большого интернет-магазина
Проектирование большого интернет-магазинаПроектирование большого интернет-магазина
Проектирование большого интернет-магазинаArtem Markov
 
Разработка интернет-магазина: от идеи до реализации
Разработка интернет-магазина: от идеи до реализацииРазработка интернет-магазина: от идеи до реализации
Разработка интернет-магазина: от идеи до реализацииsportgid
 
Экономика проекта с точки зрения IT
Экономика проекта с точки зрения ITЭкономика проекта с точки зрения IT
Экономика проекта с точки зрения IToleg.bunin
 
Создание сайтов: как всё устроено и первые шаги.
Создание сайтов: как всё устроено и первые шаги.Создание сайтов: как всё устроено и первые шаги.
Создание сайтов: как всё устроено и первые шаги.Александр Лысяк
 
Mind map от «Полмиллиона юзеров в онлайне без падений: оптимизация высокона...
Mind map от «Полмиллиона юзеров в онлайне без падений: оптимизация высокона...Mind map от «Полмиллиона юзеров в онлайне без падений: оптимизация высокона...
Mind map от «Полмиллиона юзеров в онлайне без падений: оптимизация высокона...Sergey Xek
 
Устройство фреймворка symfony 2 (http://frontend-dev.ru)
Устройство фреймворка symfony 2 (http://frontend-dev.ru)Устройство фреймворка symfony 2 (http://frontend-dev.ru)
Устройство фреймворка symfony 2 (http://frontend-dev.ru)Александр Егурцов
 
Inroducing SAP ABAP - Presentation with basics SAP ABAP
Inroducing SAP ABAP - Presentation with basics SAP ABAPInroducing SAP ABAP - Presentation with basics SAP ABAP
Inroducing SAP ABAP - Presentation with basics SAP ABAPmikhailshurgulaya
 
Ігор Карпиленко — PHPStorm for drupal developer
Ігор Карпиленко — PHPStorm for drupal developerІгор Карпиленко — PHPStorm for drupal developer
Ігор Карпиленко — PHPStorm for drupal developerLEDC 2016
 
Решения на базе СУБД Firebird в крупных компаниях и государственных учреждени...
Решения на базе СУБД Firebird в крупных компаниях и государственных учреждени...Решения на базе СУБД Firebird в крупных компаниях и государственных учреждени...
Решения на базе СУБД Firebird в крупных компаниях и государственных учреждени...Alexey Kovyazin
 
Что должен уметь Linux программист
Что должен уметь Linux программистЧто должен уметь Linux программист
Что должен уметь Linux программистru_Parallels
 

Similar to 1_symfony_introduction.pptx (20)

Экскурс в мир WEB разработки
Экскурс в мир WEB разработкиЭкскурс в мир WEB разработки
Экскурс в мир WEB разработки
 
Symfony2 Best Practices
Symfony2 Best PracticesSymfony2 Best Practices
Symfony2 Best Practices
 
Как создать сайт с нуля за 1 день
Как создать сайт с нуля за 1 деньКак создать сайт с нуля за 1 день
Как создать сайт с нуля за 1 день
 
Сравнение рынков Content Management Software тут и там
Сравнение рынков  Content Management Software тут и тамСравнение рынков  Content Management Software тут и там
Сравнение рынков Content Management Software тут и там
 
10 компонентные и офисные приложения на платформе microsoft
10 компонентные и офисные приложения на платформе microsoft10 компонентные и офисные приложения на платформе microsoft
10 компонентные и офисные приложения на платформе microsoft
 
Remote (dev)tools своими руками
Remote (dev)tools своими рукамиRemote (dev)tools своими руками
Remote (dev)tools своими руками
 
[JAM 1.1] Symfony (Alexei Yanochkin)
[JAM 1.1] Symfony (Alexei Yanochkin)[JAM 1.1] Symfony (Alexei Yanochkin)
[JAM 1.1] Symfony (Alexei Yanochkin)
 
2015-12-12 | AzovDevMeetup 2015 | Enterprise приложения на PHP | Павел Крынецкий
2015-12-12 | AzovDevMeetup 2015 | Enterprise приложения на PHP | Павел Крынецкий2015-12-12 | AzovDevMeetup 2015 | Enterprise приложения на PHP | Павел Крынецкий
2015-12-12 | AzovDevMeetup 2015 | Enterprise приложения на PHP | Павел Крынецкий
 
10 мифов о WordPress
10 мифов о WordPress10 мифов о WordPress
10 мифов о WordPress
 
Проектирование большого интернет-магазина
Проектирование большого интернет-магазинаПроектирование большого интернет-магазина
Проектирование большого интернет-магазина
 
Разработка интернет-магазина: от идеи до реализации
Разработка интернет-магазина: от идеи до реализацииРазработка интернет-магазина: от идеи до реализации
Разработка интернет-магазина: от идеи до реализации
 
Экономика проекта с точки зрения IT
Экономика проекта с точки зрения ITЭкономика проекта с точки зрения IT
Экономика проекта с точки зрения IT
 
Создание сайтов: как всё устроено и первые шаги.
Создание сайтов: как всё устроено и первые шаги.Создание сайтов: как всё устроено и первые шаги.
Создание сайтов: как всё устроено и первые шаги.
 
Mind map от «Полмиллиона юзеров в онлайне без падений: оптимизация высокона...
Mind map от «Полмиллиона юзеров в онлайне без падений: оптимизация высокона...Mind map от «Полмиллиона юзеров в онлайне без падений: оптимизация высокона...
Mind map от «Полмиллиона юзеров в онлайне без падений: оптимизация высокона...
 
Устройство фреймворка symfony 2 (http://frontend-dev.ru)
Устройство фреймворка symfony 2 (http://frontend-dev.ru)Устройство фреймворка symfony 2 (http://frontend-dev.ru)
Устройство фреймворка symfony 2 (http://frontend-dev.ru)
 
Inroducing SAP ABAP - Presentation with basics SAP ABAP
Inroducing SAP ABAP - Presentation with basics SAP ABAPInroducing SAP ABAP - Presentation with basics SAP ABAP
Inroducing SAP ABAP - Presentation with basics SAP ABAP
 
Symfony 3
Symfony 3Symfony 3
Symfony 3
 
Ігор Карпиленко — PHPStorm for drupal developer
Ігор Карпиленко — PHPStorm for drupal developerІгор Карпиленко — PHPStorm for drupal developer
Ігор Карпиленко — PHPStorm for drupal developer
 
Решения на базе СУБД Firebird в крупных компаниях и государственных учреждени...
Решения на базе СУБД Firebird в крупных компаниях и государственных учреждени...Решения на базе СУБД Firebird в крупных компаниях и государственных учреждени...
Решения на базе СУБД Firebird в крупных компаниях и государственных учреждени...
 
Что должен уметь Linux программист
Что должен уметь Linux программистЧто должен уметь Linux программист
Что должен уметь Linux программист
 

1_symfony_introduction.pptx

  • 1. ФРЕЙМОВРКИ И ЗАЧЕМ ОНИ НУЖНЫ? SYMFONY NARTEA NICHITA, USM
  • 2. ЧТО ТАКОЕ ФРЕЙМВОРК? Фреймворк - готовая модель в IT, заготовка, шаблон для программной платформы, на основе которого можно дописать собственный код. Проще говоря, фреймворк — это как готовая скелетная структура для программ. Это как готовый домик без внутренней отделки. Ты можешь добавлять свои комнаты и мебель, но основу уже придумали за тебя. К примеру, всю работу с базой данных на себя берет фреймворк, а разработчику лишь необходимо сказать, какие данные и где хочется хранить. Фреймворк обеспечивает уже готовые инструменты и правила для создания, редактирования и извлечения информации из базы данных
  • 3. FRONTEND VS. BACKEND Прежде чем мы погрузимся в более глубокое изучение фреймворков, имеет смысл предварительно рассмотреть различия между Frontend и Backend. Простыми словами,  Frontend — это визуальный маг, создающий волшебство непосредственно перед глазами пользователей. Он создает милые кнопки, уютные формы и удивительные анимации, которые делают веб-страницы красочными и привлекательными.  Backend, с другой стороны, — это тихий гений, работающий в тени. Он отвечает за все то, что происходит за кулисами. Он управляет базами данных, обрабатывает запросы пользователей и обеспечивает безопасность. Таким образом, Frontend и Backend как два хорошо согласованных партнера создают гармонию в веб-разработке.
  • 4. СОВРЕМЕННЫЕ FRONTEND И BACKEND ФРЕЙМВОРКИ Backend фреймворки Frontend фреймворки Django (Python) React Symfony (PHP) Vue Spring (Java) Angular Laravel (PHP) jQuery ASP.NET (C#) Emberjs Express.js (JS) Meteor.js
  • 5. BACKEND ФРЕЙМВОРКИ. SYMFONY Symfony — это набор компонентов PHP, веб-фреймворк для приложений, философия и сообщество, все вместе гармонично взаимодействующие:  Фреймворк Symfony — ведущий фреймворк на PHP для создания веб- сайтов и веб-приложений. Построен на основе компонентов Symfony  Компоненты Symfony — набор независимых и повторно используемых компонентов, на основе которых создаются лучшие приложения на PHP, такие как Drupal, Prestashop и Laravel  Сообщество Symfony — группа более чем 600 000 разработчиков из более чем 120 стран, все они стремятся помочь PHP преодолеть невозможное
  • 6. КОМПОНЕНТЫ SYMFONY FRAMEWORK Symfony HttpFoundation Обработка HTTP- запросов и создание HTTP- ответов Routing Управление маршрутизацией Form Создание и обработка веб- форм Security Обеспечение аутентификации, авторизации и защиты приложения HttpKernel Основа обработки запросов и создания ответов Twig Шаблонизатор для создания шаблонов Doctrine Инструменты для работы с базой данных
  • 7. ПАКЕТНЫЙ МЕНЕДЖЕР PHP — COMPOSER Composer – пакетный менеджер PHP. Этот инструмент позволяет вам указать библиотеки и пакеты (зависимости), от которых зависит ваш проект, и автоматически управлять процессом их установки и обновления.  Установить composer: https://getcomposer.org/download/  Установка пакетов $ composer require <package>  Обновление пакетов $ composer update
  • 8. УСТАНОВКА SYMFONY #1  Технические требования для установки:  >= PHP 8.1  Установленный Composer  Установка Symfony CLI – инструмента для разработки и запуска вашего приложения Symfony локально https://github.com/symfony-cli/symfony-cli  Подробный гайд установки Symfony: https://symfony.com/doc/current/setup.html
  • 9. УСТАНОВКА SYMFONY #2 УСТАНОВКА SYMFONY С ПОМОЩЬЮ CLI  Установка Symfony с помощью утилиты `symfony` # установка традиционного web-приложения $ symfony new my_project_directory --version="6.3.*" --webapp # установка symfony, если вы разрабатываете микросервис, API, или консольное приложение $ symfony new my_project_directory --version="6.3.*“  Установка Symfony с помощью composer $ composer create-project symfony/skeleton:"6.3.*" my_project_directory $ cd my_project_directory $ composer require webapp
  • 10. ЗАПУСК ПРИЛОЖЕНИЯ SYMFONY  Запуск приложения Symfony $ symfony server:start  Установка пакетов (Логгера) $ composer require logger
  • 11. СТРУКТУРА ДИРЕКТОРИЙ  bin/: Исполняемые файлы  config/: Конфигурационные файлы  packages/: Конфигурации различных пакетов  routes.yaml: Определение маршрутов  services.yaml: Конфигурация сервисов  framework.yaml: Конфигурация фреймворка  public/: Веб-доступные файлы  src/: Исходный код проекта  Controller/: Контроллеры  Entity/: Классы сущностей (для работы с БД)  Form/: Классы форм Symfony  Repository/: Репозитории для работы с базой данных  Service/: Сервисы  templates/: Шаблоны представлений  tests/: Тесты  translations/: Переводы  var/: Временные данные (кэш, логи и т.д.)  vendor/: Зависимости (установленные пакеты)  ... (другие файлы и директории)