Видеокурс "PHP - Мастер. От теории до собственной CMS интернет-магазина"
7870
1207
0
1207

Видеокурс "PHP - Мастер. От теории до собственной CMS интернет-магазина"

  • Цена:
    7870

    ПОДРОБНОЕ ОПИСАНИЕ

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

    В видеокурсе показано не только создание движка для интернет-магазина, но еще и создается собственный фреймворк, на котором и пишется CMS. В курсе разрабатывается собственный РНР-фреймворк, который вы сможете в дальнейшем использовать многократно, сокращая время разработки. По итогам прохождения курса вы создадите уже готовую CMS для интернет-магазина и сможете разрабатывать на заказ интернет-магазины и другие типы сайтов, используя разработанную в курсе CMS.


    PHP-Мастер. От теории до собственной CMS интернет-магазина. (Андрей Кудлай - Webformyself)
    • ЧАСТЬ 1. Написание собственного фреймворка.

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

    • Урок №1. Вступление

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

    • Урок №2. Структура приложения

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

    • Урок №3. Конфигурация приложения

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

    • Урок №4. Класс Реестр

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

    • Урок №5. Класс обработки ошибок

    Еще один полезный класс, который необходим в любом веб-приложении, это класс для работы с ошибками. Этот класс позволит логгировать возникающие ошибки, а также не показывать их на экране в режиме production.

    • Урок №6-7. Класс Маршрутизатор

    Следующая пара уроков будет отведена под написание ключевого класса практически любого веб-приложения, реализующего паттерн MVC.

    Речь идет о классе Маршрутизаторе (Router). С помощью данного класса мы поймем, какую именно страницу запросил пользователя и перенаправим запрос на соответствующие контроллер и экшен.

    • Урок №8. Базовый контроллер

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

    • Урок №9-10. Класс View

    Еще одним компонентом архитектуры MVC является вид (представление). Этот урок мы посвятим написанию базового класса View, задача которого – отрисовать для пользователя запрошенную страничку. Из урока вы узнаете, как отделить вид от шаблона, а также в чем разница между ними.

    • Урок №11. Класс Модель

    Последним ключевым компонентом архитектурного паттерна MVC – является Модель (Model). Задача модели – непосредственная работа с данными, в частности, предоставлением нужного набора данных по запросу контроллера.

    • Урок №12. ORM RedBeanPHP

    Работа модели часто предполагает работу с БД. Соответственно, нам придется писать SQL-запросы или же позаботиться о наличии соответствующего класса-билдера, который будет писать такие запросы за нас. Мы выберем второй вариант и подключим замечательную библиотеку RedBeanPHP, с помощью которой значительно упростим себе дальнейшую работу.

    • Урок №13. Класс для кэширования

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

    • ЧАСТЬ 2. Написание пользовательской части CMS интернет-магазина

    Итак, в первой части мы написали собственный фреймворк – то ядро, на базе которого мы и будем создавать систему управления контентом (CMS) для нашего интернет-магазина. Во второй части курса мы с вами урок за уроком создадим пользовательскую часть сайта с достаточно обширным набором функционала.

    • Урок №1. Перенос шаблона в структуру CMS

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

    • Урок №2. Структура БД

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

    • Урок №3. Вывод брендов

    С этого урока мы уже непосредственно перейдем к работе с кодом CMS и реализуем одну из простейших задач – вывод брендов.

    • Урок №4. Популярные товары

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

    • Урок №5-6. Виджет выбора валют

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

    • Урок №7. Пересчет цены товара в выбранной валюте

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

    • Урок №8-10. Виджет категорий

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

    • Урок №11-17. Карточка товара

    Одна из наиболее важных и объемных частей курса – карточка товара. Здесь нам не только нужно вывести информацию о товаре, а также реализовать добавление переменного количества единиц товара в корзину, но и дополнительно реализовать сопутствующий функционал, как-то: вывод дополнительных изображений товара, возможность добавления в корзину как базовой версии товара, так и его модификации (товар другого цвета) по другой цене, модули связанных и просмотренных товаров, класс хлебных крошек и др. Функционала достаточно много и на его реализацию мы выделим сразу семь уроков.

    • Урок №18-22. Корзина

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

    • Урок №23-24. Поиск

    Уроки 23 и 24 мы отведем под реализацию поиска по товарам. Это также важный функционал для любого сайта, особенно интернет-магазина. Поиск важен для потенциального покупателя, поскольку позволяет потенциальному покупателю быстрее найти нужный товар и, как следствие, помогает превратить потенциального покупателя в реального. Мы с вами реализуем т.н. живой поиск, т.е. поиск с подсказками вариантов поисковых запросов, которые появляются при наборе покупателем поискового запроса.

    • Урок №25. Товары категории

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

    • Урок №26. Класс Pagination

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

    • Урок №27-31. Регистрация

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

    • Урок №32-35. Оформление заказа

    Еще четыре урока мы посвятим вопросам оформления заказа. Здесь мы не только будем сохранять заказ и его данные в БД, но и будем уведомлять о новом заказе менеджера сайта, а также отправлять письмо с деталями заказа самому покупателю. Для этого мы воспользуемся уже готовым популярным классом Swift Mailer.

    • Урок №36-40. Фильтры

    Последняя объемная и достаточно интересная тема – фильтры. Этому вопросу мы отведем сразу пять относительно больших уроков. Фильтры – очень удобны для пользователя и помогают покупателю в поиске нужных товаров на сайте.

    • ЧАСТЬ 3. Написание администраторской части CMS интернет-магазина

    Итак, пользовательская часть интернет-магазина готова. Теперь пришла пора управлять всем этим функционалом. И для этого нам нужна админка. Именно администраторскую часть CMS мы и напишем в финальной части нашего курса.

    • Урок №1. Шаблон AdminLTE  

    Первый урок третьей части мы посвятим основам работы с популярным шаблоном для бэкенда – AdminLTE. В данном уроке мы скачаем и установим этот шаблон, а также создадим необходимую структуру для работы администраторской части CMS.

    • Урок №2. Авторизация администратора

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

    • Урок №3. Виджеты главной страницы

    Шаблон AdminLTE из коробки предлагает много замечательных компонентов, расширяющих возможности CSS фреймворка Bootstrap. Одним из таких компонентов являются небольшие симпатичные блоки-виджеты, которые идеально вписываются в главную страницу админки. В этом уроке мы добавим именно такие. В них мы будем выводить основную информацию и предоставлять быстрый доступ к ней: заказы, товары, категории и пользователи.

    • Урок №4. Список заказов

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

    • Урок №5-6. Обработка заказа

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

    • Урок №7-11. Управление категориями

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

    • Урок №12. Управление кэшем

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

    • Урок №13-16. Управление пользователями

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

    • Урок №17-27. Управление товарами

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

    • Урок №28-30. Управление фильтрами

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

    • Урок №31-32. Управление валютами

    В последних двух уроках мы реализуем механизм управления валютами. Администратор сможет создавать новые валюты и редактировать существующие. Также администратор сможет назначать базовую валюту магазина.

    БОНУСНЫЕ КУРСЫ

    • БОНУС №1. PHP + PHP7 + MySQL

    В первую очередь курс будет полезен тем, кто вообще не знаком с PHP, но желает изучить этот замечательный и популярный язык программирования. Также курс будет представлять ценность для новичков, которые возможно уже изучили PHP, но у них нет практики работы с этим языком программирования. Здесь простым и понятным языком объясняется теория и практика работы с PHP. В курсе мы будем изучать PHP с нуля, с самых-самых основ, с синтаксиса языка, понятия переменной, функции и прочее, и после изучения уроков курса вы должны быть уже достаточно уверенным программистом на PHP, конечно же, при условии успешного изучения материалов курса. Уроки не будут представлять из себя «голую» теорию, по возможности они будут максимально разбавляться практическими рабочими примерами. Для того, чтобы закрепить изученный материал, в конце курса мы с вами создадим простейший динамичный сайт, использующий в своей работе базу данных и паттерн MVC. Логическим продолжением изучения теории и практики работы с PHP, будут уроки, посвященные нововведениям новой версии языка – PHP 7. Эта версия стала куда быстрее своих предшественниц и в ней появились некоторые полезные возможности, о которых вам, возможно, было бы интересно узнать. Из уроков по PHP 7 вы узнаете о новых операторах и функциях, о новых возможностях, двигающих PHP в сторону языков со строгой типизацией. Все это будет рассмотрено в логическом продолжении основного курса по PHP – в уроках по новинкам PHP 7.

    • БОНУС №2. ООП PHP (Объектно-ориентированное программирование на PHP)

    Разработка веб-приложений с помощью объектно-ориентированного подхода на языке PHP поначалу может сбить с толку тех разработчиков, которые привыкли использовать процедурный подход, но на самом деле ничего сложного в ООП нет. В данном курсе мы рассмотрим теоретические аспекты ООП, а также научимся применять полученные знания на практике. Курс состоит из 17 уроков, в которых мы шаг за шагом изучим основы ООП, которых должно быть достаточно для написания приложений в объектном стиле. Изучив этот курс, Вы будете понимать, что такое объектно-ориентированное программирование, узнаете, что такое классы и объекты, а также поймете разницу между ними. Узнаете о свойствах, методах и константах класса. После прохождения курсы Вы сможете использовать наследование классов для создания удобной и гибкой логики Вашего веб-приложения, создавать разветвленные иерархии классов. Будете уметь переопределять методы и тем самым расширять их функционал, создавать абстрактные классы. Из курса вы узнаете смысл использования интерфейсов и научитесь использовать их там, где это действительно может требоваться, а не использовать интерфейсы ради интерфейсов. Особое внимание в курсе отведено теме автозагрузки классов, что позволит исключить длинные списки подключаемых файлов. Здесь вы узнаете, как о функциях автозагрузки, так и научитесь использовать для этой цели пакетный менеджер Composer. Все это и многое другое вы узнаете из уроков предлагаемого курса по ООП в PHP.

    • БОНУС №3. Перенос сайта на хостинг

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

    • БОНУС №4. Подключение платежной системы

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

    • БОНУС 5. Личный кабинет покупателя

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

    • БОНУС №6. Канонические URL

    В курсе мы уделили некоторое внимание SEO составляющей сайта, в частности, были реализованы методы для заполнения и вывода мета-данных страниц (title, description и keywords). В предлагаемом бонусном уроке мы продолжим тему работы с SEO оптимизацией веб-приложения. Одной из основных проблем фреймворков и различных CMS может быть дублирование адресов URL на сайте, когда одна и та же страница может быть доступна по различным адресам. Это на самом деле проблема с точки зрения SEO. Как решить эту проблему – будет показано в предлагаемого бонусном уроке. Здесь мы воспользуемся так называемыми каноническими URL, которые явно укажут поисковикам, какой из адресов является основным (каноническим) и, соответственно, именно его следует включать в поисковую выдачу, игнорируя дубли.

    • БОНУС №7. Личная поддержка преподавателя-наставника

    После покупки вы получите доступ к закрытому разделу форума, где сможете задавать вопросы по курсу и в течение 48 часов гарантированно получите персональную поддержку профессионала-практика. Личная поддержка – это наставник за спиной. Уверенность в том, что у вас всё получится. Потому что, если не будет получаться, вы сможете спросить своего наставника – и он подробно расскажет причины, по которым не получается и что нужно сделать, чтобы исправить ситуацию. Вы исправляете, и идёте дальше по курсу. Это предсказуемая и в чём-то даже рутинная дорога к мастерству.


  • PHP-Мастер. От теории до собственной CMS интернет-магазина. (Андрей Кудлай - Webformyself)

ПОХОЖИЕ ТОВАРЫ