1 |
Подготовка
О чем урок:
- Что такое фреймворк и зачем он нужен
- Установка последней версии Kohana Framework
- Работа с документацией и Coding Style разработчиков
- Использовать IDE для разработки
- Общая структура файлов фреймворка
- Первоначальная настройка bootstrap.php
- Работа с URL и избавление от index.php
- Создание контроллеров и экшенов
- Передача параметров в экшен и создание простых скриптов
Результат:
- Установленный фреймворк
- Созданный проект в IDE
- Простой скрипт «Hello World»
Бонус – NetBeans IDE
|
2 |
Анатомия фреймворка
О чем урок:
- Подробный разбор структуры файлов и иерархии классов фреймворка
- Порядок выполнение и цикл работы фреймворка
- Подключение модулей
- Знакомство с концепцией MVC
- Создание контроллеров
- Работа с шаблонами и классом Template, передача параметров
- Создание моделей и методов для получения данных
- Особенности использования методов before() и after()
Результат:
- Сверстанный шаблон магазина
- Простое MVC приложение
|
3 |
Каскадная файловая система
О чем урок:
- Создание классов и выстраивание правильной иерархии
- Использование файлов конфигураций и работа с ними
- Создание мультиязычности
- Работа с системными сообщениями
- Использование классов Request и Response
- Особенности концепции HMVC
- Различие между MVC и HMVC
- Создание и подключение виджетов
Результат:
- Простой дизайн для магазина
- Каркас магазина согласно концепции HMVC
|
4 |
Роутинг
О чем урок:
- Особенность использования View::set() и View::bind()
- Мощнейший инструмент управления маршрутами - Routing
- Особенность создания роутов
- Работа с роутами и использование регулярных выражений
- Параметры по умолчанию для роутов
- Получение передаваемых параметров в контроллере
- Формирование правильного URL на основе созданных роутов
- Кэширование роутов
- Разбор типовых примеров
Результат:
- Разделение видимой части от панели администрирования
- Заготовки будущих контроллеров и экшенов
|
5 |
Хелперы
О чем урок:
- Использование класса Arr для работы с массивами
- Класс Cookie для хранения куков
- Работа с классом Date
- Создание RSS-канала с помощью класса Feed
- Работа с файлами при использовании класса File
- Создание форм с помощью класса Form
- Подключение скриптов и стилей
- Создание ссылок
- Использование дополнительных хелперов для работы с текстом
- Работы со строковыми функциями в кодировке UTF-8
- Класс для создания правил и проверки загружаемых файлов
Результат:
- Собственный класс для работы с виджетами
- Форма обратной связи на странице «Контакты»
- Виджет новостей
- RSS-канал
|
* |
Вебинар #1
- Разбор домашних заданий участников
- Бонус: Эффективное обучение
- Бонус: Юзабилити интернет-магазина
|
6 |
Работа с базой данных
О чем урок:
- Взаимодействие с базой данных с использованием модуля
Database. Использование Query Builder для построения запросов к базе
любой сложности.
- Взаимодействие с базой данных с использованием модуля Database
- Настройка файла конфигураций для работы с БД
- Запросы SELECT, INSERT, UPDATE, DELETE с помощью метода DB::query()
- Использование Query Builder для построения запросов к базе любой сложности
- Взаимодействие с моделью
- Создание сложных запросов
- Агрегирующие запросы, вложенные запросы и подзапросы
- Получение и использование результатов запроса
Результат: -
Возможность добавления/редактирования/удаления новостей
|
7 |
Валидация и ORM
О чем урок:
- Валидация данных
- Создание правил валидации
- Использование класса Validation и предопределенных правил
- Создание файлов системных сообщений
- Отлавливание сообщений об ошибках и вывод
- Создание собственных функции валидации и использование их
- Object-relational mapping (ORM)
- Валидация в ORM
- Создание правил валидации в модели
- Получение/добавление/обновление/удаление записей из БД с помощью ORM
- Отлавливание исключений и вывод сообщений об ошибках
- Типы связей в ORM
Результат:
- Добавление/Редактирование/Удаление новостей, статей, товаров, страниц
- Виджет случайных статей
- Просмотр каталога товаров
- Просмотрел статических страниц, статей, новостей
|
8 |
Авторизация
О чем урок:
- Подключение и настройка модуля авторизации Auth
- Создание контроллера для авторизации и аутентификации
- Использование дополнительных методов create_user и update_user
- Создание и управления ролями пользователей
- Создание модели User для работы с пользователями
- Создание сообщений об ошибках при валидации
Результат:
- Регистрация пользователей
- Ограничение доступа в личный кабинет пользователя и в панель администрирования магазином
- Список пользователей в панели администрирования
|
* |
Вебинар #2
- Разбор домашних заданий участников
- Типы связей в БД
- Нововведения в версии 3.2
- API Яндекс.Метрика для магазина
|
9 |
Работа с изображениями
О чем урок:
- Подключение и настройка модуля для работы с изображениями Images
- Получение информации о файле: путь до изображения, высоту, ширину, тип и т.п
- Изменение размера, соблюдение пропорции
- Обрезка изображений по заданному размеру и смещениям
- Вращение, изменение резкости, зеркальное отображение, изменение фона и добавление отражение к изображениям
- Наложение водяного знака и установка расположения и степени прозрачности
- Сохранение полученного файла в нужной директории на сервере
- Создание модели и установка связей между таблицами для работы с изображениями
- Добавление, удаление и получение списка всех изображений у конкретного товара
Результат:
- Вывод всех изображений у товаров в каталоге
- Загрузка изображений для товаров в магазине
- Параметры и опции у товаров
|
10 |
Постраничная навигация и кэширование
О чем урок:
- Установка и настройка модуля постраничной навигации Pagination
- Создание собственного шаблона и стилей для постраничной навигации
- Настройка конфигурационных данных
- Кэширование данных с помощью модуля Cache
- Способы кэширования
- Занесение, считывание и удаление данных из кэша
Результат: -
Постраничная навигациях для страниц каталога, статей, новостей, пользователей
|
11 |
Сессии и куки
О чем урок:
- Использование специальных классов Cookie и Sessions
- Установка/получение/удаление данные из куков
- Настройка куков: соль, время жизни, путь и домен и т.п.
- Установка/получение/удаление данные из сессии
- Способы хранения сессий: native, cookie, database
- Настройка файла конфигураций
Результат:
- Корзина товаров
- Отображение заказов в личном кабинете пользователя
- Управление заказами из панели администрирования
- Способы доставки
- Многоуровневые категории
Бонус - многоуровневые категории Nested Sets
|
12 |
Тестирование и профилирование
О чем урок:
- Использование класса Debug для вывода дампов переменных
- Профайлинг и статистика по запросам, используя класс Profiler
- Создание собственных меток для профилирования
- Использование модуля Userguide для просмотра документации
- Использование модуля Codebench для тестирования производительности
- Использование модуля Unittest для создания юнит-тестов
- Поиск и установка дополнительных модулей
- Отправка писем через SMTP, при использовании класса Email
- Подключение платежной системы Robokassa для приема платежей
Результат:
- Прием платежей через Robokassa
- Email уведомления (при регистрации, покупках, изменении статуса оплаты и доставки)
- Email рассылка для пользователей
|
* |
Вебинар #3
- Разбор домашних заданий участников
- Подведение итогов курса
|