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
11. СТРУКТУРА ДИРЕКТОРИЙ
bin/: Исполняемые файлы
config/: Конфигурационные файлы
packages/: Конфигурации различных пакетов
routes.yaml: Определение маршрутов
services.yaml: Конфигурация сервисов
framework.yaml: Конфигурация фреймворка
public/: Веб-доступные файлы
src/: Исходный код проекта
Controller/: Контроллеры
Entity/: Классы сущностей (для работы с БД)
Form/: Классы форм Symfony
Repository/: Репозитории для работы с базой данных
Service/: Сервисы
templates/: Шаблоны представлений
tests/: Тесты
translations/: Переводы
var/: Временные данные (кэш, логи и т.д.)
vendor/: Зависимости (установленные пакеты)
... (другие файлы и директории)