Мы в сети

VK
FB

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

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

Страница автора - Дмитрий Науменко
Страница автора

Автор: Дмитрий Науменко

С помощью авторского обучающего видеокурса «Воспламенитель кода: сайт-визитка на CodeIgniter» Вы получите все необходимые знания и навыки работы с CodeIgniter и сможете создавать быстрые, гибкие и функциональные сайты за короткое время. Прежде всего, стоит сказать, что CodeIgniter — это так называемый PHP-фреймворк. Если говорить кратко, то это специальный каркас, структура, на основе которой мы можем создавать сайты. В среде веб-мастеров знают, что использование PHP-фреймворка снижает скорость работы сайта. Это доказывалось многочисленными тестами и измерениями, и этим "грешат" все без исключения фреймворки. Вопрос лишь в том, какой из них меньше всего влияет на скорость работы сайта.

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

Воспламенитель код - Сайт-Визитка на CodeIgniter. Обзор меню видеокурса. (Дмитрий Науменко)

Содержание:

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

  • Первый видеоурок является вводным. В нем я расскажу Вам:
  • Общую информация о курсе;
  • Какие программы нам понадобятся для работы;
  • На что обратить внимание при использовании любого редактора кода.

Урок 2. Создаем новый хост и проект для сайта

  • Создание хоста в денвере (какой момент необходимо при этом учесть);
  • Где можно брать готовые бесплатные шаблоны для сайтов;
  • Переносим файлы шаблона на наш новый хост;
  • Создаем проект в phpDesigner для удобства работы;
  • На что обратить внимание при работе с кодировками;
  • Как изменить кодировку веб-сервера при работе с денвером.

Урок 3. Правим шаблон сайта: JavaScript и стили CSS

  • Занимаемся JavaScript-файлами, подключенными к шаблону;
  • Правим стили шаблона;
  • Где взять специальный плагин для FireFox для более комфортной разработки.

Урок 4. Работаем с текстом, картинками и типом HTML-документа

  • Занимаемся текстовым наполнением шаблона;
  • Меняем картинки в слайдере;
  • Меняем тип HTML-документа;
  • Проверяем шаблон на соответствие стандарту HTML5.

Урок 5. Правим шаблон сайта: доработка стилей и мелкие правки

  • Дорабатываем файлы стилей;
  • Модифицируем футер;
  • Подчищаем шаблон от лишнего кода.

Урок 6. Перенос сайта на CodeIgniter

  • Выводим приветственную страницу фреймворка CodeIgniter;
  • Добиваемся вывода шаблона, с которым мы работали ранее, средствами фреймворка;
  • Прописываем абсолютные пути для всех подключаемых к шаблону ресурсов (стили, скрипты и картинки);
  • Прописываем абсолютные пути до необходимой графики в файле стилей и в файле настроек слайдера.

Урок 7. Работа с URL-адресами в CodeIgniter

  • Общий принцип обработки url-адресов;
  • Рассматриваем файл routes.php, отвечающий за настройку url-адресов в CodeIgniter;
  • Общий принцип формирования url-адресов в CodeIgniter и понятие сегмента;
  • Общее понятие объектно-ориентированного подхода применительно к процессу формирования url-адресов;
  • Понятия класса и объекта;
  • Понятия свойства и метода класса.

Урок 8. MVC и понятие класса

  • Понятие контроллера;
  • Модель MVC (Модель-Вид-Контроллер) и ее смысл в веб-разработке;
  • Разбор компонентов модели MVC и их взаимодействия в веб-приложении;
  • Изучаем структуру класса на примере одного из классов CodeIgniter;
  • Понятие расширения класса;
  • Рассматриваем пример создания метода внутри класса и передачу ему параметра;
  • Понятие конструкции $this;
  • Где хранятся Модели, Виды и Контроллеры.

Урок 9. Создаем первый Контроллер

  • Создаем первый контроллер - Pages;
  • Изменяем контроллер по умолчанию при обращении к сайту;
  • Разбиваем шаблон на отдельные логические блоки (Виды);
  • Последовательно загружаем Виды, собирая страницу целиком.

Урок 10. Начинаем работать с базой данных

  • Что такое phpMyAdmin и для чего нужен данный инструмент;
  • Что нужно для работы с базой данных;
  • Создаем первую базу данных;
  • На что нужно обратить внимание при создании базы данных;
  • Рассматриваем пример готовой базы данных на примере одного из моих проектов;
  • Осваиваемся в интерфейсе phpMyAdmin;
  • Создаем первую таблицу в новой базе данных;
  • Как создавать поля в таблице базы данных.

Урок 11. Продолжаем работу с базой данных

  • Создаем пользователя для базы данных;
  • Какие моменты нужно учесть при создании пользователя;
  • Окончательно дорабатываем шаблон сайта.

Урок 12. Наполняем базу и "подключаем" ее в настройках CodeIgniter

  • Наполняем базу данных контентом для главной страницы сайта;
  • Производим необходимые настройки в конфигурационном файле database.php для работы с базой данных.

Урок 13. Интегрируем знания для вывода информации из базы данных

  • Создаем Модель для работы с базой данных;
  • Пишем функцию, которая будет получать информацию из базы по главной странице;
  • Как задать условие при выборке информации из базы данных;
  • Как произвести запрос к базе;
  • Как обработать полученную из базы информацию;
  • Как вернуть результат работы функции, и что это означает;
  • Понятие загрузки ресурса в CodeIgniter;
  • Передаем полученную из базы информацию в файл Вида для вывода ее на экран;
  • В каком виде передается информация из Контроллера в Вид;
  • Модифицируем файл Вида главной страницы для вывода необходимого контента;
  • Добиваемся автоматической установки соединения с базой данных с помощью файла autoload.php;
  • Как произвести распечатку массива в отладочных целях.

Урок 14. Совершенствуем функцию, получающую информацию из базы

  • Используем сокращенную форму записи вывода переменных и проставляем соответствующую настройку в файле config.php;
  • Экспериментируем с передачей данных в файл Вида;
  • Создаем в базе данных новую страницу "О нас";
  • Пишем новую универсальную функцию, отвечающую за отображение любой страницы сайта;
  • Создаем универсальную функцию, получающую из базы данных информацию по любой странице;
  • Перенастраиваем Контроллер по умолчанию в файле routes.php.

Урок 15. Улучшаем URL-адреса нашего сайта

  • Прописываем необходимую настройку в config.php;
  • Используем специальный файл .htaccess для скрытия файла index.php из url-адреса;
  • Убираем из адреса универсальную функцию, обрабатывающую все страницы, с помощью файла routes.php.

Урок 16. Применяем несколько полезных функций и настроек в CodeIgniter

  • Модифицируем функцию отображения страниц;
  • Используем специальный хэлпер url для более удобной работы с url-адресами;
  • Учимся проверять на пустоту массив или переменную;
  • Знакомимся с функцией redirect, предназначенной для перенаправления пользователя на указанный адрес;
  • Знакомимся с настройкой base_url, позволяющей задать "базовый" адрес сайта;
  • Переделываем меню сайта с использованием функции base_url;
  • Заполняем базу данных информацией по оставшимся страницам сайта.

Урок 17. Заканчиваем с выводом из базы и начинаем создавать контактную форму

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

Урок 18. Работаем над внешними аспектами формы обратной связи

  • Создаем стили для контактной формы;
  • Разбираемся с графикой для оформления контактной формы;
  • Создаем JavaScript-файл, который будет управлять визуальными эффектами для полей формы;
  • Подключаем к сайту наш новый JavaScript-файл;
  • Модифицируем универсальную функцию отображения страниц для работы со страницей контактов;
  • Изучаем полезную конструкцию switch-case.

Урок 19. Добиваемся отправки почты безо всяких дополнительных функций

  • Добиваемся отправки почты из формы обратной связи;
  • Как проверить на существование некую переменную;
  • Как задать настройки при отправке письма;
  • Какой класс в CodeIgniter предназначен для работы с массивом POST;
  • Тестируем отправку почты средствами Денвера.

Урок 20. Дорабатываем контактную форму до необходимого состояния. Часть 1

  • Что нам потребуется для реализации полноценной работы формы обратной связи;
  • Создаем в базе данных таблицу для хранения сессий (выполняем SQL-запрос через phpMyAdmin);
  • Выставляем ключ шифрования в файле config.php для корректной работы сессий;
  • Учимся использовать базу данных для хранения сессий;
  • Создаем библиотеку, отвечающую за генерацию защитного кода - капчи;
  • Получение доступа к ресурсам CodeIgniter внутри библиотек, написанных нами;
  • Генерируем случайное число для использования в капче и записываем его в сессию;
  • Создаем массив с настройками для создания капчи и генерируем ее.

Урок 21. Дорабатываем контактную форму до необходимого состояния. Часть 2

  • Загружаем в контроллере необходимую для работы капчи библиотеку;
  • Передаем в Вид код капчи в составе массива;
  • Модифицируем Вид для вывода капчи;
  • Создаем библиотеку с правилами валидации для формы обратной связи;
  • Изучаем структуру правил для проверки полей формы.

Урок 22. Дорабатываем контактную форму до необходимого состояния. Часть 3

  • Создаем новый Контроллер для обработки данных, отправленных из формы обратной связи;
  • Загружаем необходимые для работы библиотеки;
  • Используем правила валидации для проверки данных из формы;
  • Проверяем, совпадает ли введенная человеком капча с капчей, хранящейся в сессии;
  • Переносим логику отправки письма в наш новый Контроллер.

Урок 23. Дорабатываем контактную форму до необходимого состояния. Часть 4

  • Разбираем анатомию Ajax-запроса;
  • Как предотвратить отправку содержимого формы при использовании Ajax-запроса на адрес, указанный в атрибуте action;
  • Сталкиваемся с мелкими ошибками и устраняем их;
  • Тестируем все варианты ошибок и сообщений при отправке формы;
  • Дорабатываем стили для информационных сообщений.

Урок 24. Обновление капчи без перезагрузки страницы

  • Модифицируем Вид файла с формой обратной связи;
  • Пишем новую функцию для обновления кода капчи;
  • Пишем Ajax-запрос для обновления капчи без перезагрузки страницы;
  • Вносим небольшие изменения в стили.

Урок 25. Убираем нерациональности в коде

  • Ставим в автозагрузку часто используемые ресурсы;
  • Рационализируем загрузку ресурсов, объединяя однородные элементы в массив;
  • Выносим в файл scripts.js JavaScript-код, управляющий ротатором контента в шапке сайта.

Урок 26. Создаем Контроллер управления панелью администратора

  • Создаем новый контроллер;
  • Создаем файлы Вида для главной страницы админки;
  • Правим файлы Вида и подготавливаем необходимые картинки;
  • Создаем стили для навигационного меню админки.

Урок 27. Занимаемся функцией добавления новых страниц. Часть 1

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

Урок 28. Занимаемся функцией добавления новых страниц. Часть 2

  • Создаем правила валидации для формы добавления новой страницы;
  • Разбираем общую схему работы функции добавления страницы;
  • Дорабатываем функцию, руководящую процессом добавления новой страницы.

Урок 29. Занимаемся функцией добавления новых страниц. Часть 3

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

Урок 30. Автоматический вывод страниц в навигационном меню

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

Урок 31. Добавляем опцию изменения порядка следования пунктов меню. Часть 1

  • Создаем в таблице pages поле для хранения порядкового номера пункта меню;
  • Модифицируем функцию управления меню для вывода в соответствии с порядковыми номерами;
  • Пишем новую функцию, отвечающую за редактирование порядка следования пунктов в навигации;
  • Создаем Вид для страницы редактирования меню;
  • Добиваемся отображения в админке текущего порядка следования пунктов меню.

Урок 32. Добавляем опцию изменения порядка следования пунктов меню. Часть 2

  • Формируем в цикле список существующих пунктов меню и поля, в которые мы будем проставлять нужный нам номер для пункта меню;
  • Модифицируем функцию вывода пунктов меню.

Урок 33. Добавляем опцию изменения порядка следования пунктов меню. Часть 3

  • Дописываем в контроллере функцию, отвечающую за изменение порядка следования пунктов меню;
  • Рассматриваем логику работы данной функции;
  • Экспериментируем, чтобы увидеть работу функции "изнутри".

Урок 34. Добавляем опцию изменения порядка следования пунктов меню. Часть 4

  • Создаем информационный Вид, сообщающий об успешном изменении меню;
  • Добавляем информационный Вид при добавлении новой страницы;
  • Дорабатываем форму добавления новой страницы.
  • Создаем правила валидации для новых полей при добавлении страницы.

Урок 35. Добиваемся вывода ошибок валидации на русском языке

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

Урок 36. Подключаем к админке визуальный редактор контента - CKEditor

  • Модифицируем файл .htaccess;
  • Подключаем JavaScript-файл, необходимый для работы редактора;
  • Подключаем визуальный редактор к полю textarea в Виде добавления страницы.

Урок 37. Создаем функцию редактирования страницы. Часть 1

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

Урок 38. Создаем функцию редактирования страницы. Часть 2

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

Урок 39. Занимаемся функцией обновления страницы в базе

  • Разбираем общую логику работы функции обновления;
  • Реализуем функцию обновления;
  • Пишем функцию обновления, производящую взаимодействие с базой.

Урок 40. Реализуем функцию удаления страницы

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

Урок 41. Производим доработки сайта. Часть 1

  • Автоматизируем вывод пунктов меню в футере;
  • Подчищаем футер в админке;
  • Делаем в админке возможность выбора: выводить добавляемую страницу в меню или нет;
  • Правим форму добавления страницы;
  • Пишем JavaScript-функцию для автоматического скрытия ненужных полей;
  • Создаем в базе данных дополнительное поле, в котором фиксируем выбор опции отображения / не отображения страницы в меню;
  • Модифицируем библиотеку с правилами валидации;
  • Модифицируем функцию, забирающую информацию из базы для формирования меню.

Урок 42. Производим доработки сайта. Часть 2

  • Дорабатываем форму редактирования страницы;
  • Проставляем / не проставляем динамически атрибут checked на основании данных из базы;

Урок 43. Приступаем к защите администраторской панели

  • Что нам понадобится для реализации этой функции;
  • Создаем в базе данных таблицу для хранения авторизационных данных администратора;
  • Создаем Вид для страницы авторизации;
  • Создаем правила валидации для полей логина и пароля.

Урок 44. Работаем с функцией авторизации. Часть 1

  • Пишем функцию, управляющую процессом входа в админку;
  • Загружаем необходимые для работы библиотеки и разбираем логику работы функции в целом;
  • Устанавливаем правила валидации;
  • Создаем вид для страницы входа в админку.

Урок 45. Работаем с функцией авторизации. Часть 2

  • Пишем новую библиотеку и функцию для получения настроек из базы;
  • Создаем новую библиотеку - библиотеку авторизации;
  • Пишем в библиотеке авторизации функцию, осуществляющую процесс входа.

Урок 46. Работаем с функцией авторизации. Часть 3

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

Урок 47. Работаем с функцией авторизации. Часть 4

  • Пишем функцию, руководящую процессом отмены авторизации (выхода);
  • Пишем функцию, непосредственно осуществляющую отмену авторизации (выход);
  • Ставим в автозагрузку библиотеку авторизации;
  • Защищаем страницы админки с помощью вызова специальной функции;
  • Проверяем установленную нами защиту;
  • Устраняем ошибки, допущенные при написании авторизации;
  • Тестируем процедуры входа и выхода из админки.

Урок 48. Управляем настройками из админки. Часть 1

  • Создаем файл вида для страницы настроек;
  • Создаем правила валидации для настроек;
  • Используем важное правило, позволяющее проверить на совпадение значения, введенные пользователем в разные поля формы.

Урок 49. Управляем настройками из админки. Часть 2

  • Разбираем устройство функции, работающей с настройкам;
  • Реализуем функцию на практике;
  • Применяем проход циклом foreach с использованием пар "ключ-значение" для обновления настроек в базе;
  • Тестируем процедуру изменения настроек.

Урок 50. Оптимизируем сайт. Часть 1

  • Выносим в автозагрузку часто используемые библиотеки;
  • Убираем закрывающие тэги php в конце файлов и удаляем пустые строки;
  • Вносим мелкие правки в некоторые файлы Видов.

Урок 51. Оптимизируем сайт. Часть 2

  • Оптимизируем работу с файлами Видов в контроллере Pages;
  • Создаем отдельную библиотеку для удобства работы с Видами;
  • Объединяем группы Видов в отдельные функции.

Урок 52. Оптимизируем сайт. Часть 3

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

Урок 53. Реализуем выделение текущего пункта меню

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

Урок 54. Переносим сайт на реальный сервер. Часть 1

  • Что такое FTP-доступ к серверу;
  • Где взять данные для подключения к FTP-серверу;
  • Какую программу для работы с FTP можно использовать;
  • Как настроить FTP-соединение с помощью Total Commander;
  • Переносим базу данных с локального компьютера на сервер хостинг-компании;
  • Что такое SQL-файл и зачем он нужен;
  • Создаем базу данных и пользователя из панели управления хостингом;
  • Сопоставляем пользователя и базу данных;
  • Переносим содержимое базы данных с локального компьютера на реальный сервер.

Урок 55. Переносим сайт на реальный сервер. Часть 2

  • Подготавливаем файлы на локальном компьютере для переноса на сервер;
  • Меняем настройку base_url;
  • Меняем настройки для подключения к базе данных;
  • Вносим необходимые изменения в Контроллер отправки почты;
  • Подправляем url-адреса в файле стилей;
  • Подправляем url-адреса в двух файлах JavaScript;
  • Правим несколько путей в базе данных на реальном сервере;
  • Переносим файлы на сервер по FTP и вносим правку в файл .htaccess;
  • Проверяем работоспособность всех функций сайта и админки.