SlideShare a Scribd company logo
1 of 29
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Programming Language
forbeginners.html workshop.css
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Работа с ‘Laravel’ {
< Модульность и расширяемость>
Programming Language
[Популярный PHP Фреймворк]
}
forbeginners.html workshop.css
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Кто и зачем используют ‘Laravel’;
Laravel пользуются backend-разработчики, которые пишут код на PHP. Он
помогает определить структуру веб-приложения и служит для нее каркасом.
Фреймворк написан на PHP и расширяет его возможности. Распространяется
бесплатно под лицензией MIT.
Назначение Laravel — создание веб-приложений и сайтов на основе MVC
(model-view-controller). Это вариант архитектуры, при котором компоненты
программы делятся на три части:
∗ модель (model) предоставляет данные и методы работы с ними: запросы
в базу данных, проверка на корректность;
∗ представление (view) показывает пользователю эти данные и
изменяется, если меняется модель;
∗ контроллер (controller) направляет данные от пользователя к системе
и наоборот.
Programming Language
forbeginners.html workshop.css
1
2
3
4
5
6
7
8
9
10
11
12
13
14
laravel
∗ Когда пользователь работает с приложением, построенным
по схеме MVC, он взаимодействует с представлением и
контроллером. Представление — это то, что он видит,
например сведения, которые отображены в визуальном
интерфейсе. А контроллеру пользователь отдает команды.
∗ Например, нажатие на кнопку в приложении будет
обращением к контроллеру. Тот видоизменит модель. Потом
обновится представление: оно получит из модели новые
данные и изменит состояние. Так пользователь увидит
результат нажатия на кнопку.
Programming Language
forbeginners.html workshop.css
1
2
3
4
5
6
7
8
9
10
11
12
13
14
01 {
[Возможности фреймворка
Laravel]
< Artisan, Eloquent ORM,
Fluent, Blade и др.>
}
Programming Language
forbeginners.html workshop.css
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Консоль Artisan
∗ Artisan — интерфейс командной строки, включенный в
Lavarel. Он позволяет генерировать модели, новые тесты,
контроллеры, уведомления из командной строки. Это намного
удобнее, чем копировать откуда-либо шаблон класса или
писать его вручную. Чтобы посмотреть команды, вы можете
воспользоваться командой list:
list: php artisan list
∗ Консоль используют для работы с базами данных, управления
контроллером и других действий. Разработчик может
написать для нее собственные команды.
Programming Language
forbeginners.html workshop.css
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Eloquent ORM
∗ ORM — это технология программирования для связи базы
данных и языка программирования. Использование ORM
позволяет ускорить разработку. Для PHP существует
множество реализаций ORM, но Laravel пользуется
собственной. Она называется Eloquent и работает по схеме
ActiveRecord, согласно которой каждой таблице в базе
соответствует один класс.
∗ Eloquent любят за удобство и возможность писать понятный
код, который легко поддерживать, защиту от SQL-инъекций —
способа взлома сайтов и программ. ORM можно загрузить
отдельно от остальных компонентов Laravel.
Programming Language
forbeginners.html workshop.css
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Конструктор Fluent
∗ Это конструктор для быстрого
построения запросов к базе, который
полностью совместим с ядром Eloquent
ORM. Fluent — мощный инструмент,
позволяющий с легкостью модифицировать
записи в базе данных. Все запросы
используют подготовленные выражения и
защищены от SQL-инъекций.
Programming Language
forbeginners.html workshop.css
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Шаблонизатор Blade
∗ Шаблонизаторы используются для превращения HTML-шаблонов
в готовые страницы. Шаблоны — это заготовки для будущих
веб-страниц, которые включают HTML-верстку без контента и
PHP-код. Задача программы-шаблонизатора — выполнить PHP-
код и подставить в шаблон контент, чтобы превратить его в
готовую страницу. PHP в итоговой веб-странице быть не
должно.
∗ Blade — это шаблонизатор фреймворка Laravel. Он не имеет
ограничений на чистый PHP в шаблонах — это удобнее для
backend-разработчика. Отсутствие ограничений не создает
дополнительной нагрузки на приложение.
Programming Language
forbeginners.html workshop.css
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Валидация
∗ Валидация — проверка входящих данных.
Она нужна, чтобы случайная ошибка была
вовремя найдена и обработана. Логику
валидации можно написать
самостоятельно. Если пользователь
введет неверные данные, он попадет на
предыдущую страницу. Сайт не «упадет»
и останется работоспособным.
Programming Language
forbeginners.html workshop.css
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Система контроля версий БД
∗ Это позволяет проводить миграции
— модификации структуры базы
данных. С помощью фреймворка
можно гибко управлять миграцией
прямо через Artisan: запускать,
откатывать по отдельности или
полностью, видоизменять.
Programming Language
forbeginners.html workshop.css
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Юнит-тестирование
{
< Его еще называют модульным
тестированием. Это «базовый
уровень» проведения тестов. На
работоспособность тестируются
отдельные модули кода. Это нужно,
чтобы позже не столкнуться с
ошибкой на более высоких
уровнях.>
Programming Language
forbeginners.html workshop.css
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Аутентификация
∗ С Laravel можно реализовать вход на сайт с помощью логина
и пароля либо через социальные сети.
∗ Например, пакеты Laravel Passport и Laravel Socialite
позволяют входить через API других приложений с помощью
стандарта OAuth. Это протокол авторизации, который дает
возможность авторизоваться с помощью учетной записи
другого сайта, чаще всего соцсети.
∗ Пакет Laravel Sanctum отвечает за аутентификацию для
простых приложений и одностраничных сайтов. Он более
легковесный, чем Passport, и авторизует пользователя с
помощью системы токенов — физических устройств.
Programming Language
forbeginners.html workshop.css
1
2
3
4
5
6
7
8
9
10
11
12
13
14
02 {
[Особенности и
возможности Laravel]
< Производительность,
безопасность, открытый код и др.>
}
Programming Language
forbeginners.html workshop.css
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Развитая экосистема
∗ Комьюнити включает несколько сайтов (на русском
языке https://laravel.su/, https://laravel.ru/) со
статьями об особенностях Laravel, дополнительным
программным обеспечением для удобной работы с
фреймворком.
∗ Существуют мировые конференции — они называются Laracon и
проводятся с 2013 года.
∗ Экосистема постоянно развивается. Это помогает
поддерживать интерес к проекту со стороны спонсоров и
способствует развитию Laravel.
Programming Language
forbeginners.html workshop.css
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Высокая производительность
∗ Laravel поддерживает noSQL-базы данных. Они
отличаются более высокой скоростью работы, чем
привычные БД. Информация хранится в
оперативной памяти сервера, поэтому можно
быстро получить к ней доступ.
∗ Laravel позволяет управлять кэшированием и
имеет собственный механизм очередности
процессов. Это повышает производительность,
ускоряет доступ к данным и уменьшает нагрузку
на вычислительные мощности.
Programming Language
forbeginners.html workshop.css
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Безопасность
∗ В Laravel встроены механизмы защиты от
SQL-инъекций и XSS-атак. SQL-инъекции
не дает провести собственная ORM: она
не позволяет обрабатывать посторонние
SQL-запросы. А от XSS-атак защищает
возможность экранировать теги.
Programming Language
forbeginners.html workshop.css
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Открытый код
∗ Laravel — open-source программное обеспечение. Это
значит, что любой разработчик может внести изменения в
собственный экземпляр ПО. Исходный код выложен на GitHub.
На практике этой возможностью пользуются очень редко.
Фреймворки обычно не переписывают, чтобы избежать
конфликтов с обновлениями. Польза в другом: можно
просмотреть код программного обеспечения и понять, как
работает тот или иной модуль.
Programming Language
forbeginners.html workshop.css
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Понятный синтаксис
∗ У Laravel понятный синтаксис — это
способствует читаемости кода. В нем
нет длинных и сложных конструкций,
много «синтаксического сахара». Так
называют команды и возможности,
которые не добавляют в ПО ничего
нового, но делают написание кода
проще.
Programming Language
forbeginners.html workshop.css
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Гибкая маршрутизация
∗ Маршрутизация — это создание маршрута, по
которому информация передается от одной точки
к другой. В веб-программировании это анализ
URL и запроса пользователя и выполнение кода в
зависимости от запроса. Можно выделять
маршруты в группы, использовать различные
способы проверки, управлять пространствами
имен и применять регулярные выражения.
Programming Language
forbeginners.html workshop.css
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Легкая миграция
∗ Благодаря системе контроля версий
структуры БД разработчикам легко
изменять и при необходимости
откатывать базу. Поэтому риск
критичной поломки БД сводится к
минимуму — это важно, если над
проектом одновременно работают
несколько человек.
Programming Language
forbeginners.html workshop.css
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Мультиязычность
∗ Laravel можно использовать для
создания сайтов на несколько языковых
зон. Это, например, сайты для
русскоязычных и англоязычных
пользователей. Фреймворк поддерживает
множество языков. Настроить
многоязычность можно очень быстро
Programming Language
forbeginners.html workshop.css
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Обилие пакетов и библиотек
∗ Библиотеки нужны для решения конкретных задач и
позволяют в одну строчку выполнить действие, которое
при написании вручную языке заняло бы десятки строк.
Это своеобразные наборы функций для упрощения работы
программиста. Их можно скачать и использовать при
разработке.
∗ Пакеты — это программные модули, которые подключаются
к фреймворку и расширяют его возможности. Они более
функциональны, чем единичные библиотеки, и нужны для
реализации определенных решений. Например, Laravel
Sanctum — это пакет для быстрой аутентификации по
токену.
Programming Language
forbeginners.html workshop.css
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Недостатки
∗ Несмотря на множество
преимуществ, фреймворк Laravel
также имеет некоторые недостатки.
Вот некоторые из них:
Programming Language
forbeginners.html workshop.css
1
2
3
4
5
6
7
8
9
10
11
12
13
14
∗ Сложность для новичков: Laravel предоставляет богатый набор
функций и инструментов, что может быть сложным для новичков.
Освоение всех его возможностей может потребовать времени и усилий.
∗ Производительность: В сравнении с некоторыми другими более
легковесными фреймворками, такими как Lumen или Slim, Laravel
может иметь более высокий накладный расход производительности. Для
некоторых проектов это может быть проблемой.
∗ Обновления и совместимость: При обновлении Laravel до новых
версий, особенно для крупных проектов, могут возникнуть проблемы с
совместимостью существующего кода. Это может потребовать
дополнительных усилий для адаптации приложения к новым версиям.
∗ Многофункциональность: Для некоторых проектов Laravel может
предоставлять слишком много функциональности, которая не
используется в полной мере. Это может привести к избыточности кода
и сложности поддержки.
Programming Language
forbeginners.html workshop.css
1
2
3
4
5
6
7
8
9
10
11
12
13
14
∗ Объем кода: Приложения, разрабатываемые с использованием Laravel,
могут иметь большой объем кода из-за множества встроенных функций
и библиотек. Это может усложнить обслуживание и отладку.
∗ Изменчивость: Как и всякий фреймворк, Laravel может подвергаться
изменениям со временем, что может повлиять на существующий код и
требовать его обновления.
∗ Обучение и переобучение команды: Для использования Laravel
необходимо обучение, и если команда разработчиков уже имеет опыт
работы с другими фреймворками, потребуется время для переобучения
на Laravel.
∗ Зависимость от сторонних пакетов: Laravel активно использует
сторонние пакеты (composer-пакеты), и если один из таких пакетов
перестанет поддерживаться или будет иметь проблемы совместимости,
это может повлиять на ваш проект.
Programming Language
forbeginners.html workshop.css
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Как установить и начать пользоваться; {
< Перейдите в каталог вашего проекта и
измените файл .env, чтобы настроить параметры
подключения к БД >
< CMD: composer create-project --prefer-dist
laravel/laravel имя-проекта >
Установка Laravel
< Перейти на getcomposer.org и установить >
Установка Composer
Конфигурация базы данных
}
Programming Language
forbeginners.html workshop.css
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Как установить и начать пользоваться; {
< Laravel использует файлы маршрутов
в routes/web.php для определения URL-адресов и их
обработки в контроллерах. Создайте маршруты и
контроллеры для вашего приложения. >
< CMD: php artisan serve >
Запуск локального сервера
< CMD: php artisan key:generate >
Генерация ключа приложения
Создание маршрутов и контроллеров
}
Programming Language
forbeginners.html workshop.css
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Как установить и начать пользоваться; {
< Теперь вы можете начать разрабатывать свое
приложение, добавляя маршруты, контроллеры,
представления и другие компоненты Laravel. >
< Создайте представления (шаблоны) в
папке resources/views для отображения данных вашего
приложения. >
Создание представлений
< Создайте миграции с помощью команды php artisan
make:migration, а затем примените их с помощью php
artisan migrate. >
Создание и миграция базы данных
Разработка
}
Programming Language
forbeginners.html workshop.css

More Related Content

Similar to Presentation for students about Laravel.pptx

Если не Drupal 8, то что? Обзор Laravel 5
Если не Drupal 8, то что? Обзор Laravel 5Если не Drupal 8, то что? Обзор Laravel 5
Если не Drupal 8, то что? Обзор Laravel 5DrupalSPB
 
Машинное обучение с MATLAB
Машинное обучение с MATLABМашинное обучение с MATLAB
Машинное обучение с MATLABMATLAB
 
ASP.NET, MVC, ASP.NET MVC
ASP.NET, MVC, ASP.NET MVCASP.NET, MVC, ASP.NET MVC
ASP.NET, MVC, ASP.NET MVCGetDev.NET
 
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”
 
Экспорт алгоритмов и создание независимых приложений
Экспорт алгоритмов и создание независимых приложенийЭкспорт алгоритмов и создание независимых приложений
Экспорт алгоритмов и создание независимых приложенийMATLAB
 
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNGДмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNGDataArt
 
Отладка и оптимизация многопоточных OpenMP-программ
Отладка и оптимизация многопоточных OpenMP-программОтладка и оптимизация многопоточных OpenMP-программ
Отладка и оптимизация многопоточных OpenMP-программTatyanazaxarova
 
Андрей Завадский "Бессерверная архитектура"
 Андрей Завадский "Бессерверная архитектура" Андрей Завадский "Бессерверная архитектура"
Андрей Завадский "Бессерверная архитектура"Fwdays
 
Автоматизация design patterns и компактный код вместе с PostSharp
Автоматизация design patterns и компактный код вместе с PostSharpАвтоматизация design patterns и компактный код вместе с PostSharp
Автоматизация design patterns и компактный код вместе с PostSharpgeekfamilyrussia
 
Как построить свой фреймворк для автотестов?
Как построить свой фреймворк для автотестов?Как построить свой фреймворк для автотестов?
Как построить свой фреймворк для автотестов?Dmitry Buzdin
 
Ruby on Rails снижаем стоимость разработки
Ruby on Rails снижаем стоимость разработкиRuby on Rails снижаем стоимость разработки
Ruby on Rails снижаем стоимость разработкиMedia Gorod
 
Online TechTalk “Flutter Mobile Development”
Online TechTalk “Flutter Mobile Development”Online TechTalk “Flutter Mobile Development”
Online TechTalk “Flutter Mobile Development”GlobalLogic Ukraine
 
Экскурс в мир WEB разработки
Экскурс в мир WEB разработкиЭкскурс в мир WEB разработки
Экскурс в мир WEB разработкиIT-Доминанта
 
Слои тестового фрамеворка. Что? Где? Когда?
Слои тестового фрамеворка. Что? Где? Когда?Слои тестового фрамеворка. Что? Где? Когда?
Слои тестового фрамеворка. Что? Где? Когда?COMAQA.BY
 
Embarcadero All-Access
Embarcadero All-AccessEmbarcadero All-Access
Embarcadero All-AccessSerghei Urban
 
Проверено и работает. Инструменты Oracle для разработки веб приложений
Проверено и работает. Инструменты Oracle для разработки веб приложенийПроверено и работает. Инструменты Oracle для разработки веб приложений
Проверено и работает. Инструменты Oracle для разработки веб приложенийMedia Gorod
 
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментовРеализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментовSQALab
 

Similar to Presentation for students about Laravel.pptx (20)

Если не Drupal 8, то что? Обзор Laravel 5
Если не Drupal 8, то что? Обзор Laravel 5Если не Drupal 8, то что? Обзор Laravel 5
Если не Drupal 8, то что? Обзор Laravel 5
 
Машинное обучение с MATLAB
Машинное обучение с MATLABМашинное обучение с MATLAB
Машинное обучение с MATLAB
 
ASP.NET, MVC, ASP.NET MVC
ASP.NET, MVC, ASP.NET MVCASP.NET, MVC, ASP.NET MVC
ASP.NET, MVC, ASP.NET MVC
 
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 | Павел Крынецкий
 
Step 1
Step 1Step 1
Step 1
 
Экспорт алгоритмов и создание независимых приложений
Экспорт алгоритмов и создание независимых приложенийЭкспорт алгоритмов и создание независимых приложений
Экспорт алгоритмов и создание независимых приложений
 
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNGДмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
 
Отладка и оптимизация многопоточных OpenMP-программ
Отладка и оптимизация многопоточных OpenMP-программОтладка и оптимизация многопоточных OpenMP-программ
Отладка и оптимизация многопоточных OpenMP-программ
 
Андрей Завадский "Бессерверная архитектура"
 Андрей Завадский "Бессерверная архитектура" Андрей Завадский "Бессерверная архитектура"
Андрей Завадский "Бессерверная архитектура"
 
Автоматизация design patterns и компактный код вместе с PostSharp
Автоматизация design patterns и компактный код вместе с PostSharpАвтоматизация design patterns и компактный код вместе с PostSharp
Автоматизация design patterns и компактный код вместе с PostSharp
 
Как построить свой фреймворк для автотестов?
Как построить свой фреймворк для автотестов?Как построить свой фреймворк для автотестов?
Как построить свой фреймворк для автотестов?
 
Sonar quality
Sonar qualitySonar quality
Sonar quality
 
Ruby on Rails снижаем стоимость разработки
Ruby on Rails снижаем стоимость разработкиRuby on Rails снижаем стоимость разработки
Ruby on Rails снижаем стоимость разработки
 
Первые страницы на Ruby on Rails
Первые страницы на Ruby on Rails Первые страницы на Ruby on Rails
Первые страницы на Ruby on Rails
 
Online TechTalk “Flutter Mobile Development”
Online TechTalk “Flutter Mobile Development”Online TechTalk “Flutter Mobile Development”
Online TechTalk “Flutter Mobile Development”
 
Экскурс в мир WEB разработки
Экскурс в мир WEB разработкиЭкскурс в мир WEB разработки
Экскурс в мир WEB разработки
 
Слои тестового фрамеворка. Что? Где? Когда?
Слои тестового фрамеворка. Что? Где? Когда?Слои тестового фрамеворка. Что? Где? Когда?
Слои тестового фрамеворка. Что? Где? Когда?
 
Embarcadero All-Access
Embarcadero All-AccessEmbarcadero All-Access
Embarcadero All-Access
 
Проверено и работает. Инструменты Oracle для разработки веб приложений
Проверено и работает. Инструменты Oracle для разработки веб приложенийПроверено и работает. Инструменты Oracle для разработки веб приложений
Проверено и работает. Инструменты Oracle для разработки веб приложений
 
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментовРеализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
 

Presentation for students about Laravel.pptx

  • 2. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Работа с ‘Laravel’ { < Модульность и расширяемость> Programming Language [Популярный PHP Фреймворк] } forbeginners.html workshop.css
  • 3. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Кто и зачем используют ‘Laravel’; Laravel пользуются backend-разработчики, которые пишут код на PHP. Он помогает определить структуру веб-приложения и служит для нее каркасом. Фреймворк написан на PHP и расширяет его возможности. Распространяется бесплатно под лицензией MIT. Назначение Laravel — создание веб-приложений и сайтов на основе MVC (model-view-controller). Это вариант архитектуры, при котором компоненты программы делятся на три части: ∗ модель (model) предоставляет данные и методы работы с ними: запросы в базу данных, проверка на корректность; ∗ представление (view) показывает пользователю эти данные и изменяется, если меняется модель; ∗ контроллер (controller) направляет данные от пользователя к системе и наоборот. Programming Language forbeginners.html workshop.css
  • 4. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 laravel ∗ Когда пользователь работает с приложением, построенным по схеме MVC, он взаимодействует с представлением и контроллером. Представление — это то, что он видит, например сведения, которые отображены в визуальном интерфейсе. А контроллеру пользователь отдает команды. ∗ Например, нажатие на кнопку в приложении будет обращением к контроллеру. Тот видоизменит модель. Потом обновится представление: оно получит из модели новые данные и изменит состояние. Так пользователь увидит результат нажатия на кнопку. Programming Language forbeginners.html workshop.css
  • 5. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 01 { [Возможности фреймворка Laravel] < Artisan, Eloquent ORM, Fluent, Blade и др.> } Programming Language forbeginners.html workshop.css
  • 6. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Консоль Artisan ∗ Artisan — интерфейс командной строки, включенный в Lavarel. Он позволяет генерировать модели, новые тесты, контроллеры, уведомления из командной строки. Это намного удобнее, чем копировать откуда-либо шаблон класса или писать его вручную. Чтобы посмотреть команды, вы можете воспользоваться командой list: list: php artisan list ∗ Консоль используют для работы с базами данных, управления контроллером и других действий. Разработчик может написать для нее собственные команды. Programming Language forbeginners.html workshop.css
  • 7. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Eloquent ORM ∗ ORM — это технология программирования для связи базы данных и языка программирования. Использование ORM позволяет ускорить разработку. Для PHP существует множество реализаций ORM, но Laravel пользуется собственной. Она называется Eloquent и работает по схеме ActiveRecord, согласно которой каждой таблице в базе соответствует один класс. ∗ Eloquent любят за удобство и возможность писать понятный код, который легко поддерживать, защиту от SQL-инъекций — способа взлома сайтов и программ. ORM можно загрузить отдельно от остальных компонентов Laravel. Programming Language forbeginners.html workshop.css
  • 8. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Конструктор Fluent ∗ Это конструктор для быстрого построения запросов к базе, который полностью совместим с ядром Eloquent ORM. Fluent — мощный инструмент, позволяющий с легкостью модифицировать записи в базе данных. Все запросы используют подготовленные выражения и защищены от SQL-инъекций. Programming Language forbeginners.html workshop.css
  • 9. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Шаблонизатор Blade ∗ Шаблонизаторы используются для превращения HTML-шаблонов в готовые страницы. Шаблоны — это заготовки для будущих веб-страниц, которые включают HTML-верстку без контента и PHP-код. Задача программы-шаблонизатора — выполнить PHP- код и подставить в шаблон контент, чтобы превратить его в готовую страницу. PHP в итоговой веб-странице быть не должно. ∗ Blade — это шаблонизатор фреймворка Laravel. Он не имеет ограничений на чистый PHP в шаблонах — это удобнее для backend-разработчика. Отсутствие ограничений не создает дополнительной нагрузки на приложение. Programming Language forbeginners.html workshop.css
  • 10. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Валидация ∗ Валидация — проверка входящих данных. Она нужна, чтобы случайная ошибка была вовремя найдена и обработана. Логику валидации можно написать самостоятельно. Если пользователь введет неверные данные, он попадет на предыдущую страницу. Сайт не «упадет» и останется работоспособным. Programming Language forbeginners.html workshop.css
  • 11. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Система контроля версий БД ∗ Это позволяет проводить миграции — модификации структуры базы данных. С помощью фреймворка можно гибко управлять миграцией прямо через Artisan: запускать, откатывать по отдельности или полностью, видоизменять. Programming Language forbeginners.html workshop.css
  • 12. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Юнит-тестирование { < Его еще называют модульным тестированием. Это «базовый уровень» проведения тестов. На работоспособность тестируются отдельные модули кода. Это нужно, чтобы позже не столкнуться с ошибкой на более высоких уровнях.> Programming Language forbeginners.html workshop.css }
  • 13. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Аутентификация ∗ С Laravel можно реализовать вход на сайт с помощью логина и пароля либо через социальные сети. ∗ Например, пакеты Laravel Passport и Laravel Socialite позволяют входить через API других приложений с помощью стандарта OAuth. Это протокол авторизации, который дает возможность авторизоваться с помощью учетной записи другого сайта, чаще всего соцсети. ∗ Пакет Laravel Sanctum отвечает за аутентификацию для простых приложений и одностраничных сайтов. Он более легковесный, чем Passport, и авторизует пользователя с помощью системы токенов — физических устройств. Programming Language forbeginners.html workshop.css
  • 14. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 02 { [Особенности и возможности Laravel] < Производительность, безопасность, открытый код и др.> } Programming Language forbeginners.html workshop.css
  • 15. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Развитая экосистема ∗ Комьюнити включает несколько сайтов (на русском языке https://laravel.su/, https://laravel.ru/) со статьями об особенностях Laravel, дополнительным программным обеспечением для удобной работы с фреймворком. ∗ Существуют мировые конференции — они называются Laracon и проводятся с 2013 года. ∗ Экосистема постоянно развивается. Это помогает поддерживать интерес к проекту со стороны спонсоров и способствует развитию Laravel. Programming Language forbeginners.html workshop.css
  • 16. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Высокая производительность ∗ Laravel поддерживает noSQL-базы данных. Они отличаются более высокой скоростью работы, чем привычные БД. Информация хранится в оперативной памяти сервера, поэтому можно быстро получить к ней доступ. ∗ Laravel позволяет управлять кэшированием и имеет собственный механизм очередности процессов. Это повышает производительность, ускоряет доступ к данным и уменьшает нагрузку на вычислительные мощности. Programming Language forbeginners.html workshop.css
  • 17. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Безопасность ∗ В Laravel встроены механизмы защиты от SQL-инъекций и XSS-атак. SQL-инъекции не дает провести собственная ORM: она не позволяет обрабатывать посторонние SQL-запросы. А от XSS-атак защищает возможность экранировать теги. Programming Language forbeginners.html workshop.css
  • 18. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Открытый код ∗ Laravel — open-source программное обеспечение. Это значит, что любой разработчик может внести изменения в собственный экземпляр ПО. Исходный код выложен на GitHub. На практике этой возможностью пользуются очень редко. Фреймворки обычно не переписывают, чтобы избежать конфликтов с обновлениями. Польза в другом: можно просмотреть код программного обеспечения и понять, как работает тот или иной модуль. Programming Language forbeginners.html workshop.css
  • 19. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Понятный синтаксис ∗ У Laravel понятный синтаксис — это способствует читаемости кода. В нем нет длинных и сложных конструкций, много «синтаксического сахара». Так называют команды и возможности, которые не добавляют в ПО ничего нового, но делают написание кода проще. Programming Language forbeginners.html workshop.css
  • 20. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Гибкая маршрутизация ∗ Маршрутизация — это создание маршрута, по которому информация передается от одной точки к другой. В веб-программировании это анализ URL и запроса пользователя и выполнение кода в зависимости от запроса. Можно выделять маршруты в группы, использовать различные способы проверки, управлять пространствами имен и применять регулярные выражения. Programming Language forbeginners.html workshop.css
  • 21. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Легкая миграция ∗ Благодаря системе контроля версий структуры БД разработчикам легко изменять и при необходимости откатывать базу. Поэтому риск критичной поломки БД сводится к минимуму — это важно, если над проектом одновременно работают несколько человек. Programming Language forbeginners.html workshop.css
  • 22. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Мультиязычность ∗ Laravel можно использовать для создания сайтов на несколько языковых зон. Это, например, сайты для русскоязычных и англоязычных пользователей. Фреймворк поддерживает множество языков. Настроить многоязычность можно очень быстро Programming Language forbeginners.html workshop.css
  • 23. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Обилие пакетов и библиотек ∗ Библиотеки нужны для решения конкретных задач и позволяют в одну строчку выполнить действие, которое при написании вручную языке заняло бы десятки строк. Это своеобразные наборы функций для упрощения работы программиста. Их можно скачать и использовать при разработке. ∗ Пакеты — это программные модули, которые подключаются к фреймворку и расширяют его возможности. Они более функциональны, чем единичные библиотеки, и нужны для реализации определенных решений. Например, Laravel Sanctum — это пакет для быстрой аутентификации по токену. Programming Language forbeginners.html workshop.css
  • 24. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Недостатки ∗ Несмотря на множество преимуществ, фреймворк Laravel также имеет некоторые недостатки. Вот некоторые из них: Programming Language forbeginners.html workshop.css
  • 25. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ∗ Сложность для новичков: Laravel предоставляет богатый набор функций и инструментов, что может быть сложным для новичков. Освоение всех его возможностей может потребовать времени и усилий. ∗ Производительность: В сравнении с некоторыми другими более легковесными фреймворками, такими как Lumen или Slim, Laravel может иметь более высокий накладный расход производительности. Для некоторых проектов это может быть проблемой. ∗ Обновления и совместимость: При обновлении Laravel до новых версий, особенно для крупных проектов, могут возникнуть проблемы с совместимостью существующего кода. Это может потребовать дополнительных усилий для адаптации приложения к новым версиям. ∗ Многофункциональность: Для некоторых проектов Laravel может предоставлять слишком много функциональности, которая не используется в полной мере. Это может привести к избыточности кода и сложности поддержки. Programming Language forbeginners.html workshop.css
  • 26. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ∗ Объем кода: Приложения, разрабатываемые с использованием Laravel, могут иметь большой объем кода из-за множества встроенных функций и библиотек. Это может усложнить обслуживание и отладку. ∗ Изменчивость: Как и всякий фреймворк, Laravel может подвергаться изменениям со временем, что может повлиять на существующий код и требовать его обновления. ∗ Обучение и переобучение команды: Для использования Laravel необходимо обучение, и если команда разработчиков уже имеет опыт работы с другими фреймворками, потребуется время для переобучения на Laravel. ∗ Зависимость от сторонних пакетов: Laravel активно использует сторонние пакеты (composer-пакеты), и если один из таких пакетов перестанет поддерживаться или будет иметь проблемы совместимости, это может повлиять на ваш проект. Programming Language forbeginners.html workshop.css
  • 27. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Как установить и начать пользоваться; { < Перейдите в каталог вашего проекта и измените файл .env, чтобы настроить параметры подключения к БД > < CMD: composer create-project --prefer-dist laravel/laravel имя-проекта > Установка Laravel < Перейти на getcomposer.org и установить > Установка Composer Конфигурация базы данных } Programming Language forbeginners.html workshop.css
  • 28. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Как установить и начать пользоваться; { < Laravel использует файлы маршрутов в routes/web.php для определения URL-адресов и их обработки в контроллерах. Создайте маршруты и контроллеры для вашего приложения. > < CMD: php artisan serve > Запуск локального сервера < CMD: php artisan key:generate > Генерация ключа приложения Создание маршрутов и контроллеров } Programming Language forbeginners.html workshop.css
  • 29. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Как установить и начать пользоваться; { < Теперь вы можете начать разрабатывать свое приложение, добавляя маршруты, контроллеры, представления и другие компоненты Laravel. > < Создайте представления (шаблоны) в папке resources/views для отображения данных вашего приложения. > Создание представлений < Создайте миграции с помощью команды php artisan make:migration, а затем примените их с помощью php artisan migrate. > Создание и миграция базы данных Разработка } Programming Language forbeginners.html workshop.css