Мы в сети

VK
FB

Оформите подписку!

 Введите Ваш E-m@il и
получайте свежие новости

Страница автора - Андрей Кудлай и команда WebForMySelf
Страница автора

Автор: Андрей Кудлай

Итак, что же такое фреймворк и что из себя представляет фреймворк Yii2? Фреймворк – это программный каркас, набор библиотек кода, призванных упростить разработку проекта. Это упрощенное общее понятие фреймворка. Фреймворк Yii2 – это программный каркас для создания веб-приложений, написанный на PHP. Фреймворк Yii2 позволяет создавать сайты любого уровня сложности, при этом значительно упрощает процесс написания кода и делает его более приятным и комфортным.  Вы познакомитесь со всем функционалом и мощью наиболее популярного и перспективного в Рунете фреймворка Yii2, который предлагает богатейшие возможности для создания сайтов любого уровня сложности на чистом коде и в кратчайшие сроки….. 

Смотреть видео:

Фреймворк Yii2 с Нуля до Профи. Быстрая разработка с современным фреймворком. (Андрей Кудлай - WebForMySelf)

Содержание:

  • Часть 1. Фреймворк YII2. Теория и возможности фреймворка

Первая часть курса будет посвящена изучению возможностей, которые предлагает нам фреймворк Yii2. Здесь мы лишь прикоснемся к его огромным возможностям. В процессе изучения теории, мы будем также учиться работать с документацией. Благо, Yii может предложить нам как официальную документацию на английском языке, так и переводную документацию на русском языке. Первая часть курса включает в себя более 20 уроков средней продолжительностью около 20 минут каждый. После изучения данной части Вы научитесь пользоваться документацией на официальном сайте фреймворка Yii и изучите базовые возможности фреймворка, позволяющие создать необходимые страницы, работать с контроллерами, моделями и видами, создавать формы и работать с базами данных и т.п.

Список уроков первой части курса:

  • Урок 1. Введение

В первом уроке курса мы пройдемся по организационным моментам, рассмотрим структуру курса, узнаем основные источники документации, с которой будем работать на протяжении всего курса. Также обозначим необходимое программное обеспечение (сервер, редактор, версия фреймворка Yii2).

  • Урок 2. Установка фреймворка

Второй урок курса мы посвятим установке фреймворка на сервер и его настройке. Здесь мы рассмотрим два варианта установки: установка вручную и установка через Composer. Рассмотрим преимущества использования каждого из этих вариантов.

  • Урок 3. Вывод Hello, world!

В этом уроке мы с вами создадим первые элементы нашего приложения и решим классическую задачу «Hello, world!» для проверки простоты и удобства работы с фреймворком или любым другим приложением – выведем на экран приветственное сообщение.

  • Урок 4. Контроллеры в Yii

В этом уроке мы с вами чуть ближе познакомимся с контроллерами и действиями (action) фреймворка Yii. Узнаем, как создаются и работают контроллеры, какое место им отводится в паттерне MVC, а также для чего необходимы действия контроллера.

  • Урок 5. Общий контроллер приложения

В этом уроке мы создадим главный (общий) контроллер приложения, а также узнаем, для чего может понадобиться в нашем приложении общий контроллер и в чем выгода его использования.

  • Урок 6. Виды и шаблоны

В этом уроке мы познакомимся с еще одной составляющей паттерна MVC – видами. Также мы узнаем, что такое шаблон и чем он отличается от вида. В этом уроке мы создадим файлы видов и выведем на экран полученные в них данные.

  • Урок 7. Подключение скриптов и стилей

В этом уроке мы научимся правильно подключать файлы стилей и скриптов к нашему шаблону и видам. Рассмотрим различные варианты подключения, а также узнаем один из вариантов асинхронной передачи данных из вида в контроллер, т.е. отправки данных с помощью AJAX.

  • Урок 8. Выполнение AJAX запроса

В этом уроке мы научимся принимать и обрабатывать данные асинхронного запроса (AJAX запроса) в контроллере. Также мы познакомимся со специальным методом beforeAction() контроллеров, который позволит выполнить тот или иной код перед вызовом действия.

  • Урок 9. Метаданные страницы

В текущем уроке мы узнаем различные варианты установки метаданных страницы, то есть данных для заголовка страницы (title), ключевых слов (keywords) и описания (description).

  • Урок 10. Создание форм

В данном уроке мы познакомимся с виджетом ActiveForm и хэлпером (Helper) Html, с помощью которых можно генерировать формы на страницах вашего сайта.

  • Урок 11. Валидация данных

Как правило, вы никогда не должны доверять данным, полученным от пользователей и всегда проверять их прежде, чем работать с ними и добавлять в базу данных. Именно для этого Yii предлагает нам множество правил валидации данных, используя которые, мы очень гибко сможем проверять (валидировать) данные, получаемые от пользователя.

  • Урок 12. Принятие данных из формы

В этом уроке мы научимся принимать данные, отправляемые пользователями из форм. Сделать это достаточно просто и буквально одной строкой кода мы сможем не только принять данные из формы, но и дополнительно их проверить, то есть произвести валидацию данных.

  • Урок 13. Работа с БД. Выборка данных. Часть 1

В этом уроке мы узнаем, как и где именно настроить соединение с БД в Yii, а также начнем знакомиться с методами, позволяющими получать данных из БД. Также мы узнаем, какова роль модели в данном процессе и узнаем полезную конвенцию (соглашение об именовании), позволяющую автоматически подключить к модели соответствующую ей таблицу в БД.

  • Урок 14. Работа с БД. Выборка данных. Часть 2

В этом уроке мы продолжим работу с БД и познакомимся с дополнительными методами, позволяющими организовать выборку данных из БД.

  • Урок 15. Отложенная и жадная загрузка данных

Данный урок мы посвятим таким понятиям, как отложенная и жадная загрузка данных. Эти понятия тесно связаны с организацией связей между моделями, что позволяет в нужный момент получить те или иные связанные данные. В уроке мы узнаем отличия жадной и отложенной загрузки данных, а также узнаем, когда и какой способ получения данных можно использовать.

  • Урок 16. Запись данных в БД

В этом уроке мы продолжим изучение методов для работы с БД. Мы уже научились производить выборку и теперь на очереди сохранение данных в БД. Здесь мы узнаем несколько вариантов записи данных, а также увидим, почему важны правила валидации при записи информации в БД.

  • Урок 17. Обновление и удаление данных в БД

В данном уроке мы познакомимся с оставшимися ключевыми возможностями при работе с БД - это обновление данных (операция update) и их удаление (операция delete).

  • Урок 18. Виджеты

Данный урок мы посвятим понятию виджетов фреймворка Yii2. Виджеты представляют собой многоразовые строительные блоки, используемые в представлениях для создания сложных и настраиваемых элементов пользовательского интерфейса. Например, виджет выбора даты (date picker) позволяет генерировать интерактивный интерфейс для выбора дат, предоставляя пользователям приложения удобный способ для ввода данных такого типа. Кроме уже готовых виджетов, фреймворк позволяет создавать и собственные виджеты, которые можно многократно использовать в видах.

  • Урок 19. Установка расширений из консоли

Под Yii написано десятки и сотни всевозможных расширений. Расширение - это уже готовый функционал, решающий ту или иную задачу. Перед использованием расширения его необходимо установить. Львиная доля расширений предлагаются в качестве пакетов Composer и в данном уроке мы с вами научимся устанавливать расширения, используя консоль.

  • Урок 20. Установка расширений без композера

В этом уроке мы с вами рассмотрим второй вариант установки расширений, без использования консоли. Этот вариант не является рекомендуемым, но, тем не менее, знать его не помешает.

  • Урок 21. Создание ЧПУ

В этом уроке мы с вами познакомимся с классом UrlManager, который позволяет создавать человеку понятные ссылки (ЧПУ). С помощью данного класса и маршрутизации мы можем создавать буквально любые форматы ссылок для сайта.

  • Урок 22. Gii - генерация кода

Зачастую на любом сайте присутствует некий стандартный общий функционал. Особенно ярко это проявляется в админской части сайта, где используется фактически однотипный функционал управления разными сущностями. Например, добавление статьи или категории. Или редактирование статьи и категории. По сути это одинаковые операции, в которых будет отличаться лишь модель. Для того, чтобы ускорить процесс и не заморачиваться написанием однотипного кода, мы можем воспользоваться генератором кода Gii, с которым мы и поработаем в данном уроке.

  • Часть 2. Фреймворк Yii2. Практика. Создание интернет-магазина

Как уже отмечалось выше, многие имеющиеся уроки и курсы не дают целостного решения и показывают создание несвязанного набора страниц. Мы пойдем дальше и во второй, практической, части нашего курса будем создавать сайт, который вы можете видеть на изображении ниже. Это будет полнофункциональный интернет-магазин. Основной функционал, который будет нами реализован в курсе: категории, товары, карточка товара, корзина, многоуровневое меню категорий с поддержкой неограниченного уровня вложенности и, конечно же, управление всем этим, т.е. администраторская часть сайта. После изучения данной части Вы закрепите на практике все изученное в первой части курса, а также почерпнете для себя много новой информации и возможностей. Итак, скриншот сайта, который будет создаваться в курсе….

Список уроков второй части курса:

  • Урок 1. Установка фреймворка

От теории мы плавно переходим к практике. В практической части мы будем создавать основной функционал любого интернет-магазина. И начнем мы с установки фреймворка Yii2, чтобы, как говориться, начать работу с чистого листа.

  • Урок 2. Перевод верстки в шаблон

В этом уроке мы перенесем имеющийся у нас сверстанный макет в структуру фреймворка Yii2. Подключим стили, скриты, шрифты и картинки. В общем, добьемся того, чтобы при обращении к главной странице сайта мы увидели точно такую же картину, как и при обращении к сверстанному макету.

  • Урок 3. Модель категорий

На главной странице сайта у нас выводятся несколько избранных товаров различных категорий. Также на каждой странице сайта присутствует многоуровневое меню категорий. Соответственно, мы начнем создание движка с создания модели категорий, которая позволит нам работать с соответствующей таблицей в БД.

  • Урок 4. Виджет «Меню категорий». Часть 1

На каждой странице сайта у нас есть меню категорий. Соответственно, если мы будем генерировать код этого меню для каждой страницы и выводить его в каждом виде, то фактически мы будем заниматься дублированием кода. Это не очень хорошо. Но мы помним, что в Yii можно создавать виджеты, которые можно многократно использовать в видах. При этом для вызова виджета зачастую достаточно всего одной строчки кода. В этом уроке мы начнем создавать собственный виджет для вывода меню категорий.

  • Урок 5. Виджет «Меню категорий». Часть 2

В этом уроке мы продолжим создание собственного виджета для показа меню категорий. В процессе создания виджета мы также познакомимся с кэшированием в Yii2 и будем кэшировать создаваемое меню. Это значительно снизит нагрузку на наш сайт, поскольку виджет будет брать уже готовое меню из кэша.

  • Урок 6. Вывод популярных товаров

В данном уроке мы уже начнем выводить товары на главную страницу сайта. Это будут популярные товары на сайте. Здесь мы увидим, насколько просто и быстро фреймворк позволяет нам получать и выводить данные на страницы сайта.

  • Урок 7. Вывод товаров категорий

В этом уроке мы займемся получением и выводом товаров выбранной категории.

  • Урок 8. Метод для вывода метатегов

Практически для любой страницы сайта нам потребуются метатеги, в первую очередь это нужно поисковым роботам. Речь идет о названии страницы (title), ключевым словам (keywords) и метаописанию (description). В этом уроке мы реализуем несложный метод, позволяющий упростить процесс формирования и заполнения метаданных страницы.

  • Урок 9. Постраничная навигация

Для любого сайта и, особенно, для интернет-магазинов актуальна пагинация (постраничная навигация), которая позволяет разбить товары или любые другие материалы вашего сайта по страницам. В этом уроке мы узнаем, как работать с пагинацией в Yii, а также как получить ЧПУ при использовании пагинации.

  • Урок 10. Карточка товара. Часть 1

В этом уроке мы займемся реализацией функционала карточки товара. Здесь мы не только выведем непосредственную информацию о товаре, но и используем механизм связей, чтобы получить данные о категории, к которой относится товар.

  • Урок 11. Карточка товара. Часть 2

В этом уроке мы продолжим работать с карточкой товара.

  • Урок 12. Обработка ошибок

В данном уроке мы позаботимся об обработке и выводе сообщений ошибок при обращении к несуществующим страницам сайта. Например, это может произойти в том случае, если мы удалили товар. В этом случае страницы товара на нашем сайте уже не будет, однако ссылка, если ее проиндексировали поисковики, останется. Для того, чтобы сообщить о несуществующей странице, мы и будем использовать механизм обработки ошибок в Yii.

  • Урок 13. Поиск

Практически на любом сайте должен присутствовать поиск по тем или иным материалам. Интернет-магазин в этом плане не исключение, и на нем крайне желателен поиск по товарам магазина. В этом уроке мы с вами реализуем такой поиск.

  • Урок 14. Корзина. Часть 1

В этом и нескольких последующих урокам мы с вами приступим к реализации, пожалуй, основного функционала, который отличает интернет-магазин от сайтов прочих направлений. Речь идет о корзине товаров. Корзина - это достаточно ответственный, хотя и не очень сложный, функционал. Для реализации корзины мы задействуем механизм сессий, а также используем виджет модального окна, предлагаемый фреймворком. Добавление товаров в корзину и удаление товаров из нее мы реализуем без перезагрузки страницы, то есть будем использовать возможности AJAX.

  • Урок 15. Корзина. Часть 2

В этом уроке мы продолжим реализацию функционала корзины.

  • Урок 16. Корзина. Часть 3

В этом уроке мы продолжим реализацию функционала корзины.

  • Урок 17. Корзина. Часть 4

В этом уроке мы продолжим реализацию функционала корзины.

  • Урок 18. Корзина. Часть 5

В этом уроке мы завершим реализацию функционала корзины. В итоге у нас получилось достаточно современное решение, с которым пользователю будет приятно работать.

  • Урок 19. Оформление заказа. Часть 1

Итак, наша корзина готова, пользователь может добавлять в нее товары, удалять ненужные товары и полностью очищать корзину. Пришло время оформлять заказ. В этом и следующем уроке мы добавим такую возможность. Также мы познакомимся с тем, как отправлять письма на email в Yii2.

  • Урок 20. Оформление заказа. Часть 2

В этом уроке мы продолжим реализацию функционала оформления и сохранения заказа.

  • Урок 21. Отправка почты

В данном уроке мы познакомимся с возможностями фреймворка по отправке писем на email. В Yii для этих целей нам предлагается специальный класс и по сути нам остается лишь настроить его и использовать. При этом мы можем как отправлять тестовые письма, которые будут складываться в специальную папку, так и отправлять реальные письма, которые будут доставляться на указанный email.

  • Урок 22. Авторизация. Часть 1

Основной функционал пользовательской части реализован и теперь пришло время заняться реализацией функционала по управлению сайтом, то есть – админской частью. С помощью генератора кода мы создадим отдельный модуль, который и будет приложением админки. Ну и, конечно же, нам необходимо предусмотреть механизм авторизации и ограничения доступа к админке. Этим мы и займемся в текущем и следующем уроках.

  • Урок 23. Авторизация. Часть 2

В этом уроке мы продолжим реализацию авторизации и ограничения доступа к закрытой части сайта.

  • Урок 24. Список заказов в админке

В данном уроке мы займемся главной страницей администраторской части. На этой странице мы будем выводить список заказов с возможностью просмотра, редактирования и удаления выбранного заказа.

  • Урок 25. Управление заказами

Кроме вывода заказов и управления ими, нам не помешает выводить также содержимое заказа, то есть товары, которые пользователь заказал, а также прочую информацию: количество товаров, их цена, сумма и т.п. Все это будет реализовано в указанном уроке. Кроме вывода заказов и управления ими, нам не помешает выводить также содержимое заказа, то есть товары, которые пользователь заказал, а также прочую информацию: количество товаров, их цена, сумма и т.п. Все это будет реализовано в текущем уроке.

  • Урок 26. Управление категориями. Часть 1

В этом уроке мы займемся функционалом для управления категориями. Администратор сможет добавлять новые категории, редактировать или удалять существующие. Также мы предоставим возможность вкладывать одну категорию в другую, то есть назначать родителя для категории. Здесь нам потребуется выводить список категорий, и мы рассмотрим, как стандартные возможности фреймворка для реализации поставленной задачи, так и собственное решение. В частности, мы остановимся на использовании виджета Меню, который был написан нами для пользовательской части.

  • Урок 27. Управление категориями. Часть 2

В этом уроке мы завершим реализацию функционала по управлению категориями товаров на сайте.

  • Урок 28. Управление продуктами

В течение данного урока мы создадим необходимый функционал, который позволит управлять товарами. Мы сможем создавать, редактировать и удалять тот или иной товар.

  • Урок 29. Установка визуального редактора

Для этого урока мы используем сразу два компонента, которые позволят добавить к управлению товарами визуальный редактор и файловый менеджер. Визуальный редактор позволит оформлять описание товара даже пользователям, которые не знакомы с версткой. Ну а файловый менеджер позволит загружать картинки и добавлять их в описание товара.

  • Урок 30. Загрузка картинок. Часть 1

В этом и следующем уроке мы будем реализовывать загрузку картинки товара, а также прикрепление картинок галереи для товара. Здесь мы познакомимся с еще одним замечательным компонентом, который позволит прикреплять картинки буквально к любой модели, то есть мы сможем при желании прикреплять картинки не только к товарам, но и, например, к категориям.

  • Урок 31. Загрузка картинок. Часть 2

В этом уроке мы продолжим работать с загрузкой и прикреплением картинок товара.

  • Урок 32. Вывод картинок товара

Управлением написанным функционалом пользовательской части готово. Мы можем управлять всеми основными сущностями: заказами, категориями, товарами. Последнее, что нам осталось сделать, вывести прикрепленную к товару картинку, а также картинки галереи продукта.