Слайд 2
![Что такое Laravel?](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/589388/slide-1.jpg)
Слайд 3
![Laravel Бесплатный PHP фреймворк с открытым исходным кодом Создан Тейлором](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/589388/slide-2.jpg)
Laravel
Бесплатный PHP фреймворк с открытым исходным кодом
Создан Тейлором Отвеллом в 2011
году
Использует паттерн MVC
На появление Laravel повлияли остальные PHP фреймворки
В качестве основы Laravel выступают компоненты другого фреймворка - Symfony
Слайд 4
![Laravel плюсы и минусы Достаточно неплохая и понятная документация Мощная](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/589388/slide-3.jpg)
Laravel плюсы и минусы
Достаточно неплохая и понятная документация
Мощная экосистема: различные курсы,
конференции, обучающие материалы
Гибкая система маршрутизации
Удобный механизм обработки ошибок и исключений
Встроенные механизмы аутентификации и авторизации пользователей
Много синтаксического сахара
Много синтаксического сахара
Нарушение обратной совместимости между версиями фреймворка
Документация и комьюнити на английском
Слайд 5
![Что такое MVC? Model View Controller (Модель-Представление-Контроллер) — схема разделения](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/589388/slide-4.jpg)
Что такое MVC?
Model View Controller (Модель-Представление-Контроллер) — схема разделения данных приложения,
и управляющей логики на три отдельных компонента: модель, представление и контроллер — таким образом, что модификация каждого компонента может осуществляться независимо
Слайд 6
![Model Логика манипулирования данными Взаимодействия с БД (SELECT, INSERT, UPDATE,](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/589388/slide-5.jpg)
Model
Логика манипулирования данными
Взаимодействия с БД (SELECT, INSERT, UPDATE, DELETE)
Предоставляет данные и
реагирует на команды контроллера, изменяя свое состояние
Слайд 7
![View Отвечает за отображение данных модели пользователю, реагируя на изменения](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/589388/slide-6.jpg)
View
Отвечает за отображение данных модели пользователю, реагируя на изменения модели
Обычно содержит
HTML & CSS
Общается с контроллером
Используются шаблонизаторы
Слайд 8
![Controller Получает данные Обрабатывает запросы Получает данные из модели Передает данные в представление](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/589388/slide-7.jpg)
Controller
Получает данные
Обрабатывает запросы
Получает данные из модели
Передает данные в представление
Слайд 9
![](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/589388/slide-8.jpg)
Слайд 10
![Установка и настройка](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/589388/slide-9.jpg)
Слайд 11
![Требования PHP >= 8.0 BCMath PHP Extension Ctype PHP Extension](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/589388/slide-10.jpg)
Требования
PHP >= 8.0
BCMath PHP Extension
Ctype PHP Extension
JSON PHP Extension
Mbstring PHP Extension
OpenSSL
PHP Extension
PDO PHP Extension
Tokenizer PHP Extension
XML PHP Extension
Слайд 12
![Установка composer create-project laravel/laravel example-app cd example-app php artisan serve](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/589388/slide-11.jpg)
Установка
composer create-project laravel/laravel example-app
cd example-app
php artisan serve
Composer — это пакетный менеджер
уровня приложений для языка программирования PHP, который предоставляет средства по управлению зависимостями в PHP-приложении.
Слайд 13
![Установка в рамках инфраструктуры демоэкзамена Копируем архив с фреймворком из](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/589388/slide-12.jpg)
Установка в рамках инфраструктуры демоэкзамена
Копируем архив с фреймворком из директории public
в необходимый модуль;
Распаковываем архив;
Настраиваем редиректы с помощью файла .htaccess;
Настраиваем подключение к БД в файле .env.
Слайд 14
![.htaccess RewriteEngine On RewriteRule ^(.*)$ public/$1](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/589388/slide-13.jpg)
.htaccess
RewriteEngine On
RewriteRule ^(.*)$ public/$1
Слайд 15
![.env ... DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=login_m1 DB_USERNAME=login DB_PASSWORD=password ...](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/589388/slide-14.jpg)
.env
...
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=login_m1
DB_USERNAME=login
DB_PASSWORD=password
...
Слайд 16
![Структура проекта /app (содержит код ядра приложения) /bootstrap (содержит файлы,](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/589388/slide-15.jpg)
Структура проекта
/app (содержит код ядра приложения)
/bootstrap (содержит файлы, которые загружают фреймворк
и настраивают автозагрузку)
/config (содержит все конфигурационные файлы)
/database (одержит миграции и классы для наполнения начальными данными БД)
/public (содержит файл index.php, который является входной точкой для всех запросов, поступающих в ваше приложение)
/resources (содержит ваши представления, а также сырые, некомпилированные ресурсы)
/routes (содержит все определения маршрутов вашего приложения)
/storage (содержит скомпилированные Blade-шаблоны, файл-сессии, кэши файлов и другие файлы, создаваемые фреймворком)
/tests (содержит автотесты)
/vendor (содержит Composer-зависимости)
Слайд 17
![Каталог app /Console (содержит все дополнительные Artisan-команды) /Exceptions (содержит обработчик](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/589388/slide-16.jpg)
Каталог app
/Console (содержит все дополнительные Artisan-команды)
/Exceptions (содержит обработчик исключений вашего приложения)
/Http
(содержит пользовательские контроллеры, посредники и запросы форм)
/Models (содержит пользовательские модели)
/Providers (содержит все сервис-провайдеры приложения)
Слайд 18
![Artisan Artisan - интерфейс командной строки для Laravel. Команды экономят](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/589388/slide-17.jpg)
Artisan
Artisan - интерфейс командной строки для Laravel.
Команды экономят время.
Рекомендуется генерация файлов
с помощью Artisan.