Мы в сети

VK
FB

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

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

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

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

Первый и единственный в Рунете исчерпывающий видеокурс на тему работы с фреймворком CakePHP… Уже в ближайшие 2 месяца вы из полного новичка веб-программирования превратитесь в профессионала, которому по зубам будут даже очень сложные и дорогие веб-проекты… Если вы будете посвящать всего лишь 2-3 часа в день изучению материалов курса, то уже менее чем через 60 дней вы уверенно сможете создавать сайты любой сложности, используя фреймворк CakePHP. Вы создадите свою первую страничку вашего будущего сайта уже во время прохождения первых занятий курса. Если у вас не получится либо вы решите, что этот курс вам не подходит, то я верну вам все потраченные деньги обратно!

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

Фреймворк CakePHP: с Нуля до Гуру на примере создания корпоративного сайта. (Андрей Кудлай - Webformyself)

Содержание:

  • Часть 1. Фреймворк CakePHP. Изучаем теорию и возможности фреймворка

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

ВИДЕОУРОКИ ПЕРВОЙ ЧАСТИ КУРСА:

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

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

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

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

  • Урок 3: Установка консоли CakePHP

CakePHP, как и многие фреймворки, имеет генератор кода. Код генерируется с помощью специальной консольной утилиты CakePHP’s Bake console. Если нам нужно построить несложное работающее приложение с системой управления, не заморачиваясь с написанием кода, тогда консоль Кейка – то, что нужно. В этом уроке мы установим консоль кейка и рассмотрим нюансы ее установки

  • Урок 4: URL-адреса фреймворка CakePHP

Более плотно приступим к изучению фреймворка CakePHP и познакомимся со структурой URL-адресов Кейка. CakePHP уже по умолчанию работает с чистыми или, так называемыми ЧПУ-адресами (ЧПУ – Человеку Понятный УРЛ). При этом каждая часть (сегмент) этого адреса является значимой. Также CakePHP позволяет изменять имеющиеся по умолчанию адреса на любые другие, нужные нам, предоставляя для этих целей гибкие возможности раутинга (маршрутизации)

  • Урок 5: Соглашения об именованиях. Контроллеры

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

  • Урок 6: Метод контроллера set()

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

  • Урок 7: Метод модели find(). Часть 1

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

  • Урок 8: Метод модели find(). Часть 2

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

  • Урок 9: Магические типы метода find()

Текущий урок мы также продолжим изучением метода find(). В данном уроке мы познакомимся с так называемыми магическими типами (Mafic Find Types). Используя этот метод и зная название поля (или полей), из которого необходимо получить данные, мы можем легко это сделать, не используя никаких дополнительных параметров. При этом здесь возникает столь много вариантов получения данных, что мы буквально можем экспериментировать с ними

  • Урок 10: Выводим данные в шаблон

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

  • Урок 11: Вывод отдельной статьи

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

  • Урок 12: Метод exists()

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

  • Урок 13: Компоненты и Хелперы

Фреймворк CakePHP предоставляет разработчикам 2 незаменимые вещи, ускоряющие процесс разработки – Хелперы (Heplers) и Компоненты (Components). Используя Хелперы и Компоненты, мы можем удобнее работать с сессиями, формами, легко и быстро создать постраничную навигацию для статей и прочая, и прочая. Кейк предлагает как уже готовые Компоненты и Хелперы, которыми мы можем пользоваться, так и возможность создавать собственные Компоненты и Хелперы

  • Урок 14: Хелпер для работы с формами

Одним из ключевых и часто используемых хелперов, является хелпер по работе с формами (Form Helper). Изучив работу с этим помощником, мы без труда создадим форму, которую можно использовать для сохранения информации в базу данных или отправки формы на Email. При этом помощник Form Helper позволяет не только создавать формы, но и автоматически заполняет их данными и буквально догадывается о том, какой тип поля формы необходимо сгенерировать

  • Урок 15: Добавляем данные в БД

Познакомившись с хелпером для работы с формами, мы с Вами теперь без проблем можем генерировать нужные нам HTML-формы. В этом уроке мы изучим сразу несколько методов, позволяющих сохранять информацию из форм в базу данных. Ключевыми здесь являются методы create() и save(). Последний метод напрямую предназначен для сохранения данных. При этом нам не нужно заботиться о получении данных из каждого конкретного поля. Достаточно вызвать метод, передать ему объект данных, и метод save() сделает все остальное

  • Урок 16: Валидация данных в CakePHP

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

  • Урок 17: Метод delete()

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

  • Урок 18: Работа с Элементами

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

  • Урок 19: Редактирование данных

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

  • Урок 20: Ассоциации и связи моделей

Одна из наиболее приятных и мощных возможностей CakePHP – ассоциации моделей. Эта возможность является одной из составляющих магии Кейка. Используя ассоциации, мы можем организовать всего одной строкой кода связи между различными таблицами базы данных. Благодаря установленным связям, нам не нужно писать запросы для получения дополнительных данных, эти данные Кейк любезно предоставит нам автоматически, используя ту самую автомагию (automagic)

  • Урок 21: Работаем с категориями

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

  • Урок 22: Зависимость моделей на практике

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

  • Урок 23: Метод render()

Фреймворк CakePHP предоставляет специальный метод, позволяющий гибко работать с видами – это метод render(). Данный метод неявно вызывается в конце каждого экшена контроллера, подгружая вид по умолчанию. Но Кейк позволяет вызывать данный метод в любом месте кода контроллера, тем самым указывая, какой вид необходимо загрузить

  • Урок 24: Работа с темами в CakePHP

CakePHP позволяет не только гибко управлять шаблонами (Layout) и видами (View), но и предоставляет возможности для темизации сайта. Используя эти возможности, мы можем создать для одного и того же сайта несколько тем с абсолютно различным оформлением и использовать по желанию ту или иную тему. Это действительно мощная возможность Кейка

  • Урок 25: Приготовление кода в консоли (Cake Bake)

В данном уроке мы вернемся к вопросу работы с консольной утилитой Кейка, позволяющей «испекать код» (Cake Bake). В качестве примера мы приготовим с нуля коды Контроллера, Модели и Вида нашего простого сайта. При этом на приготовление кода мы потратим считанные минуты, ни единой строчки кода мы не будем писать самостоятельно, и весь сгенерированный код будет абсолютно рабочим

  • Урок 26: Регистрация и авторизация. Часть 1

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

  • Урок 27: Регистрация и авторизация. Часть 2

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

  • Урок 28: Регистрация и авторизация. Часть 3

В этом уроке мы завершим работу с компонентом фреймворка CakePHP – Auth, позволяющим организовать работу с учетными записями пользователей

  • Часть 2. Разработка сайта с использованием фреймворка CakePHP

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

Основа данного сайта – каталог товаров. Функционал, который будет нами реализован в курсе:

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

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

ВИДЕОУРОКИ ВТОРОЙ ЧАСТИ КУРСА:

  • Урок 1: Переносим шаблон

Итак, у нас есть верстка шаблона (html-страничка), который я нашел на одном из сайтов, предлагающем бесплатные шаблоны. Задачей первого урока будет перенос данного шаблона в структуру фреймворка CakePHP. Мы должны перенести код самой html-странички, а также скрипты, стили, картинки и шрифты. В итоге, при обращении к главной странице нашего сайта мы должны увидеть картинку, которая ничем не должна отличаться от исходного шаблона HTML

  • Урок 2: Создаем первый контроллер сайта

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

  • Урок 3: Формируем многоуровневое меню. Часть 1

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

  • Урок 4: Формируем многоуровневое меню. Часть 2

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

  • Урок 5: Создаем компонент меню

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

  • Урок 6: Блок новые товары

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

  • Урок 7: Шаблон категорий

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

  • Урок 8: Выводим товары категорий

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

  • Урок 9: Пагинация

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

  • Урок 10: Меню категорий в сайдбаре

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

  • Урок 11: Карточка товара

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

  • Урок 12: Поиск

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

  • Урок 13: Вывод страниц меню

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

  • Урок 14: Компонент Email

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

  • Урок 15: Архитектура админской части

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

  • Урок 16: Ограничиваем доступ к админке

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

  • Урок 17: Редактирование товара

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

  • Урок 18: Дерево категорий товара

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

  • Урок 19: Устанавливаем визуальный редактор

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

  • Урок 20: Добавление товара

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

  • Урок 21: Удаление товара

Последним действием по управлению товаром будет его удаление, которое мы и реализуем в текущем уроке

  • Урок 22: Управление страницами

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

  • Урок 23: Управление метаданными

В этом уроке будет показано, как организовать управление метаданными страниц Вашего сайта. Мы выведем название страницы (title), ее ключевые слова (keywords) и описание (description)

  • Урок 24: Управление категориями

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

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

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

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

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

© 2019 http://www.dvdcurse.ru Все права защищены.