Автор: Михаил Русаков
Данный курс научит Вас создавать профессиональные сайты быстро и легко с помощью Laravel. Курс состоит из 7 разделов, в которых Вы с нуля освоите данный фреймворк до уровня, достаточном для создания любых сайтов. Помимо курса Вы также получите упражнения для закрепления материала, а попутно ещё и создадите свой сайт, что позволит отлично закрепить материал на практике, плюс получить серьёзную работу в своё портфолио.
Видеокурс "Laravel от А доРаздел №1. Введение
Этот раздел является стартовым, и он рассказывает об основах Web-программирования. Просмотрев этот раздел:
В уроке будут даны важные рекомендации по эффективному прохождению курса.
В уроке разбирается механизм работы Laravel изнутри, что, на мой взгляд, является очень важным, поскольку квалифицированный специалист обязан знать, как работает его инструмент, а не воспринимать его как магию. В этом же уроке Вы узнаете, каков процесс создания сайта на Laravel прямо по шагам.
Установим всё необходимое для работы Laravel.
Здесь, кстати, помимо установки, мы разберём много нюансов, об которые новички спотыкаются. Но все они будут разобраны в этом уроке.
После просмотра данного раздела Вы уже будете знать, что из себя представляет Laravel, как он работает, а в конце у Вас будет уже всё готово для создания своих первых Web-приложений.
Раздел №2. Основы Laravel
Разберём все директории и поддиректории проекта на Laravel. Это очень важная информация, которой многие пренебрегают.
У Laravel множество настроек самых разных систем, с которыми Вы познакомитесь в этом уроке.
Artisan – это отличный помощник, ускоряющий многие процессы разработки, а также выполняющий различные важнейшие задачи (например, миграцию базы данных).
Благодаря маршрутизации фреймворк понимает, какой код выполнять при том или ином запросе.
Во избежание брутфорса (подбора пароля), а также бесконечного флуда, часто приходится ограничивать частоту запроса. И вот как это сделать, Вы узнаете в этом уроке.
Важнейший элемент Laravel – это посредники, которые позволяют фильтровать запросы. И, например, сразу отклонять тех, кто пытается получить доступ туда, куда он его не имеет. Или, например, блокировать тех, кто пытается сделать межсайтовый запрос. Вот всё это и не только мы обсудим в этом уроке.
Контроллеры – это связующее звено между моделью и шаблонами (представлением). Как их создавать и как ими правильно пользоваться, мы разберём в этом уроке.
Шаблоны – это место, где и содержится весь HTML-код сайта. В рамках этого урока Вы узнаете, как вообще передаются данные в шаблоны и как с ними правильно работать.
Данный механизм позволяет избежать дублирования при использовании одних и тех же шаблонов в разных контроллерах/функциях.
Мощнейший инструмент, предоставленный разработчиками Laravel, который позволяет внедрять логику прямо в HTML-код.
Данный механизм позволяет не дублировать один и тот же HTML-код в разных шаблонах (например, блок head, верхнее меню сайта, нижнее – одинаковы и имеются на всех страницах, поэтому неправильно будет каждый раз его копировать и вставлять в шаблоны).
Если вдруг Вам будет не хватать директив, которые уже встроены в Blade, то всегда можно будет создать собственные. Как именно? Узнаете в этом уроке.
Относительно новый инструмент в Laravel, который позволяет создавать отдельные блоки HTML-кода, называемые компонентами, которые можно многократно использовать в разных местах разных шаблонов. Например, есть какая-нибудь красивая кнопка, и хочется, чтобы её код был в одном месте и не дублировался многократно в различных формах. Тут-то и помогут компоненты.
Слоты позволяют добавлять контент к существующим компонентам.
Благодаря слотам появляется возможность создавать и макеты сайтов, что крайне удобно при их разработке.
Важнейший объект Laravel, с которым приходится работать постоянно. Самый простой пример его использования – это работа с формами. Но, безусловно, только ими данный объект не ограничивается, и об этом мы поговорим в этом уроке.
Данный объект позволяет настраивать ответ сервера. Например, благодаря этому Вы можете начать процедуру скачивания файла клиентом или записать ему cookie.
С URL приходится взаимодействовать в Laravel очень часто и, как именно это делается, Вы узнаете в этом видео.
Сессии - это важнейший механизм, позволяющий хранить информацию о конкретном пользователе и считывать эту информацию при любом его запросе.
В Laravel уже из коробки обрабатывается огромное количество исключений. Однако, никто не мешает Вам добавлять свои, о чём мы и поговорим в этом уроке.
По умолчанию в Laravel уже имеются страницы ошибок (404, 403 и так далее). Но в этом уроке Вы научитесь создавать свои собственные страницы для этих ошибок, что очень важно для любого серьёзного сайта.
Свои проекты я (а точнее мой скрипт) ежедневно мониторю на наличие каких-либо ошибок в логах. И если они появляются, то иду и оперативно их исправляю. Но ошибки – это не всегда неинициализированная переменная или забытые кавычки. Это очень часто просто «сомнительные» вещи, о которых стоит записывать в лог-файл и впоследствии анализировать, как такое могло случиться. И о том, как делать логирование, Вы узнаете в этом уроке.
После прохождения этого раздела у Вас уже будет вся база для создания проектов на Laravel, и Вы уже сможете создавать простые Web-сайты.
Раздел №3. Работа с базой данных
Прежде чем работать с базой данных, нужно произвести важные настройки, чем мы и займёмся в этом уроке.
Важнейший механизм, в котором описываются все таблицы для базы данных, которые потом благодаря Artisan автоматически создаются уже в СУБД. Всё это подробно обсуждается в этом видео.
Seeder позволяют наполнить таблицы базы данных тестовым контентом. Необычайно удобный механизм, до знакомства с которым, наполнение тестовыми данными всегда была очень неприятная рутина. А благодаря наполнителям всё прописывается и настраивается лишь один раз, а запускается и обновляется всё одной командой.
В этом уроке Вы научитесь отправлять запросы и взаимодействовать с базой данных через Laravel.
Здесь мы разберём более удобный вариант взаимодействия с базой данных, которого достаточно в 99% случаях.
Любой, кто делал навигацию по страницам, знает, какая это непростая задача со множеством подводных камней. В Laravel же всё это максимально упрощено, и как реализуется навигация по страницам, Вы узнаете в этом видео.
После прохождения данного раздела Вы научитесь работать с базой данных и сможете уже создавать более серьёзные сайты.
Раздел №4. Модель
Модель в Laravel – это реализованный паттерн Active Record (подробно этот паттерн разбирается в книге «Шаблоны корпоративных приложений» Мартина Фаулера). А благодаря уже реализованном ORM (Object-Relational Mapping) работать с такими моделями – одно удовольствие.
Очень полезный инструмент для Seeder, а также, в целом, при создании новых объектов, которые в будущем попадут уже в конкретную таблицу в виде новой записи.
Как получить те или иные записи из базы данных, как считать их поля, как их обновить, как удалить, как добавить новые – всё это разбирается в этом важнейшем уроке.
Полезный механизм, который позволяет «перехватить» получение и изменение свойства модели.
Полезный тип объектов, которые «перехватывают» различные взаимодействия с моделями (добавление, получение, изменение и удаление).
Наиболее популярный тип отношений между моделями, который мы разберём в этом уроке.
Ещё один тип отношений, который встречается так же очень часто.
Не такой частый тип отношений, но достаточно сложный и хоть изредка, но встречающийся. В этом уроке мы его детально разберём.
В этом видео мы сгенерируем специальный контроллер, который будет служить для взаимодействия с конкретной моделью.
После просмотра данного раздела Вы уже сможете начать создавать серьёзный проект, так как именно с модели обычно и начинается программирование сайта.
Раздел №5. Обработка форм
В этом уроке Вы узнаете, как выводить формы в шаблонах.
В Laravel есть очень удобный механизм валидации форм, с которым Вы научитесь работать после просмотра данного урока.
Для сложных форм бывает более удобно создать отдельный класс для её проверки.
В Laravel очень много встроенных правил валидации, однако, никто не мешает создать какое-нибудь своё особое правило, чем мы и займёмся в рамках этого урока.
В этом уроке применим знания из предыдущих и научимся управлять моделями через формы.
В этом видео Вы узнаете, как работать с файлами через Laravel, а также как делать загрузку файлов пользователями.
Просмотрев этот раздел, Вы сможете создавать, в целом, практически любые сайты, но пока без регистрации и авторизации пользователей. Однако, этот пробел будет полностью заполнен уже в следующем разделе.
Раздел №6. Регистрация и авторизация пользователей
Данный пакет уже содержит в себе все необходимые инструменты по работе с пользователями. И даже если Вы захотите всё сделать самостоятельно, всё равно данный пакет будет очень хорошей отправной точкой.
В этом уроке Вы научитесь делать регистрацию пользователей.
На большинстве сайтов с регистрацией требуется подтверждение e-mail, и как реализовать подобный механизм в Laravel, Вы и узнаете в этом уроке.
В этом видео Вы научитесь делать вход пользователей на сайт.
Бывают особо важные операции на сайте (например, отправка платежей), для которых стоит запросить ещё раз пароль даже для авторизованного пользователя. Вот такой механизм мы и разберём.
В этом уроке мы поговорим про выход из системы.
Не самая приятная задача, но благодаря Laravel, всё будет достаточно просто.
У разных пользователей, как правило, разные права. Например, один может удалять любой комментарий, другой только определённую группу комментариев, а третий может только свой и только в течение определённого времени. И в этом уроке мы обсудим, как настроить такой механизм благодаря мощнейшему инструменту Laravel – политики.
После прохождения данного раздела Вы сможете создавать не только регистрацию и авторизацию пользователей, но и делать любой функционал для авторизованных пользователей.
Раздел №7. Дополнительные возможности
E-mail отправляются очень часто, поэтому, разумеется, нужно уметь это делать.
В Laravel много встроенных уведомлений (например, для подтверждения e-mail), но никто не мешает создавать и свои, чему Вы и научитесь после этого урока.
В Laravel можно создавать свои собственные события, на которые потом подписываются слушатели. И при возникновении первых, вторые могут отреагировать на это. Всё это мы подробно разберём в этом уроке.
Очень полезный инструмент для серьёзных проектов. Например, можно сделать команду, которая запустит генерацию каких-нибудь отчётов.
По сути, это альтернатива cron, однако, гораздо более удобная и в разы более мощная. А в cron записывается только одна единственная задача. Переоценить планировщик задач – невозможно. Например, ту же генерацию отчётов можно автоматически запускать ежедневно, кроме выходных и первых чисел января.
В Laravel очень удобная система создания мультиязычного сайта, которую мы подробно обсудим в этом уроке.
PHP-программисты зачастую сталкиваются с одними и теми же задачами, которые по умолчанию в PHP не реализованы (хотя в новых версиях PHP ситуация заметно улучшилась). Например, генерация случайной строки или получение случайного элемента в массиве. Вот эту проблему и решают Helpers.
Важные слова напутствия и информация о том, в каком направлении и как стоит двигаться дальше.
После данного раздела Вы уже сможете создать абсолютно любой сайт, так как все необходимые знания уже будут у Вас.
Я". (Михаил Русаков)