"PHP и CodeIgniter с Нуля: Создание Динамических Web-Сайтов"

Видеокурс снят с продаж.

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

Сейчас же вы можете ознакомиться с моими другими платными курсами или изучить мой сайт по веб-разработке.

Хотите создавать мощные
динамические сайты на PHP?

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

Видеокурс: "PHP и CodeIgniter с Нуля: Создание Динамических Web-Сайтов".


+ 30-ти часовой курс по PHP и CodeIgniter в формате экранного видео;

+ 4 дополнительных подарка;

+ Служба поддержки;

+ Неограниченная по времени гарантия.

Цена курса:

2390 руб.


Форма Заказа

Стоимость цифровой версии:

2390 руб.

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

Размер видеокурса "PHP и CodeIgniter с Нуля: Создание Динамических Web-Сайтов" составляет 2,7 Гб.



Сразу хочу сказать, что никакого технического описания я тут не напишу.

Этот отзыв исключительно о моем мнении о курсе и процессе создания сайта с помощью CodeIgniter.

В первый раз столкнулся с CodeIgniter, когда просмотрел курс "PHP и CodeIgniter с Нуля." от Дмитрия Науменко. На тот момент (да и сейчас) не могу назвать себя профессионалом в области web-разработки, но некоторую подготовку прошел.

Вообще CodeIgniter, если заглянуть на их сайт, создан для облегчения работы при создании сайта. Но после первых уроков моя голова готова была отделиться от тела от того потока информации, который я получал изучая этот курс !!! По началу я решил отказаться от этого метода, но как говорил мой тренер "если хочешь научиться драться - дерись с тем, кто на много сильнее тебя !!! ". Это я к тому, что если не развиваться, то мозги перестанут работать :)

Признаюсь, что курс полностью просмотрел раза 3 и только после этого приступил к созданию своего сайта www.vorobey-ss.ru. Я не люблю копировать все, что вижу и где-то проводил ряд экспериментов. Короче сайт был готов, чему я был очень рад. Кстати на нем вы интересного скорее не найдете - это просто тестовый сайт.

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

Мой первый сайт под заказ www.wedding-drive.com, но он также на стадии доработки.

P.S. приятного изучения !!!

Вадим Головчиц



Здравствуйте, Дмитрий! С удовольствием пишу отзыв на диск "PHP и CodeIgniter с Нуля: Создание Динамических Web-Сайтов". Курс очень помог!

Опыт в разработке сайтов у меня уже есть, создавал html сайты с азами php для своих друзей и знакомых. Но моих знаний не хватало, чтобы брать реальные заказы на разработку сайтов т.к. не хватало знаний каким образом создавать динамические и автоматические приложения для своих заказчиков! Не получалось все четко и красиво построить!

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

До этого курса я понятия не имел что такое фреймворки и тем более не знал что такое CodeIgniter. Как это странно ни звучит, я столкнулся с будущим решением своих проблем. Я узнал о том, что существуют так называемые фреймворки, которые позволяют значительно упростить задачу разработки PHP-сайта.

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

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

Другое дело - купил - включил - слушаешь - повторяешь - запоминаешь. Это именно то, что нужно настоящим лентяям.

С уважением, Андрей



Ежедневно благодарю Дмитрия и восхищён его знаниями и особенно способностью их излагать.

Этот сайт как бесценный кладезь, меньше месяца или около того как впервые познакомился с сайтом - восхищению нет предела! Мастерство, как говориться, "не пропьёшь", и этот сайт лишь подтверждение огромного таланта и профессионализма Дмитрия.

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

Не побоюсь такого сравнения, и говорю это искренне - сочетание профессионализма и таланта педагога в одном лице - и место бы этому сайту во всех вузах самой высокой пробы! Благодарен случаю, что среди кучи "инетовского мусора" мне встретился этот сайт, который, думаю, восхищает очень многих.

Огромное человеческое спасибо этому сайту и Дмитрию лично. Надеюсь вскоре поделиться результатами!

Желаю дальнейшего успеха, развития и продвижения!!

Василий Иванович Стасюк



Добрый день, как обещала вот ссылка на мой сайт

Добрый день, как обещала вот ссылка на мой сайт www.oybay.kz - правда в данный момент мы еще развиваемся.

Суть проекта, для тех кто продолжает учить казахский язык.

Сайт предлагает:

1. возможность скачивания аудио и pdf файлов
2. возможность прослушать статью одновременно читая ее (озвучивание идет в среднем режиме)
3. на днях выведу мини-словарь для каждого текста
4. + при выделении любого слова в тексте и нажатии на появившийся вопросик вы переходите в словарь. Словарь не мой, и в данный момент ведутся переговоры, так как есть небольшие проблемы с данной функциональностью.
5. + добавятся еще 2 модуля.

Сайт запущен на CodeIgniter, благодаря вашему сайту и некоторым урокам взятым на вооружение.

Емельбаева Фатима



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

Здравствуйте, уважаемый посетитель!

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

Главное же - Вы НЕ хотите заниматься для этого углубленным изучением PHP.

Если я прав, то информация, представленная на этой странице окажется для Вас очень важной и интересной.

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

"Разве так бывает? Профессиональные PHP-сайты без глубоких познаний в PHP?"

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

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

Я и сам пытался так сделать, поэтому все это мне очень знакомо...

Почти 5 лет назад, когда я только начинал заниматься веб-разработкой, я создал свой первый сайт на HTML. Через некоторое время я стал ясно видеть, какие проблемы возникают при использовании и поддержке простого статичного сайта на HTML.

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

Я понял, что так продолжаться больше не может и начал поиск альтернативных решений.

PHP и MySQLВыручила меня в то время связка PHP+MySQL. Освоив базовые возможности языка PHP и основы работы с MySQL, я полностью переделал свой сайт и добился того, что мне было нужно. Поддерживать сайт стало намного проще, пропала необходимость в регулярном использовании FTP-клиента.

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

"Казалось бы, что все - решение найдено... Ан, нет!"

Такое положение дел устраивало меня относительно долго. Я и не думал, что стоит что-то улучшать, искать какие-то другие, более интересные и мощные решения. На основе своего новоиспеченного сайта на PHP я сделал еще с десяток похожих сайтов для себя, для своих проектов. Кроме этого, я стал делать несложные PHP-сайты, работающие с базой данных, на заказ.

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

А очень хотелось чего-то большего:

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

И много других "Хотелось..."

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

Я решил не отчаиваться, приобрел себе несколько толстенных книг с названиями вроде "Профессиональное программирование на PHP" и принялся их изучать.

"Основы я знаю, а дальше будет проще..." - наивно полагал я тогда.

Толстые учебникиШли недели. Я методично и прилежно вчитывался в то, что было написано в этих огромных 1000-страничных книгах.

Сначала я читал все подряд, думая, что все это обязательно пригодится. Через несколько недель я стал более избирательным и начал понимать, в какие дебри полез...

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

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

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

Но не тратить же несколько лет своей жизни на изучение одного только языка PHP?

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

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

Готовы ли Вы разбираться со всеми трудностями и проблемами, безвозвратно тратить на это драгоценные месяцы и годы Вашей жизни? Хотели бы Вы сделать изучение PHP самоцелью?

Лично меня совершенно не радовала такая перспектива. Я не хотел пыхтеть над непонятными учебниками, вникая в абстрактные примеры. Мне нужен был РЕЗУЛЬТАТ.

И я продолжил поиски...

"Неужели только мастера PHP могут создавать мощные динамические сайты?" - спрашивал я себя.

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

Что такое фреймворк, и в чем его преимущества?

Само слово произошло от англ. слова "framework", что означает "каркас" или "структура".

Что оно означает применительно к нашему случаю?

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

CodeIgniterФреймворк, с которым я столкнулся, называется CodeIgniter (что переводится, кстати, как "воспламенитель кода").

CodeIgniter - это PHP-фреймворк. Это означает, что он написан на языке PHP и используется при разработке на PHP.

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

"А почему бы и нет? Испробую его в действии..." - решил я.

Так я занялся изучением фреймворка CodeIgniter.

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

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

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

Но дела продвигались. Через некоторое время я реализовал все то, о чем мечтал раньше: и проверку данных, и капчу, и поиск, и авторизацию. Но самое главное, что я получил от работы с CodeIgniter - это новый уровень работы с кодом.

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

CodeIgniter совершенствует мышление, делает его более последовательным, строгим и четким. А это именно то, что нужно при работе с кодом.

Модель - Вид - КонтроллерПочему так происходит? Все дело в том, что в CodeIgniter используется особый подход к разработке сайтов - так называемая модель "MVC", что означает "Модель - Вид - Контроллер".

Суть данной модели в том, что все файлы, с которыми Вы работаете, могут быть условно разделены на три группы - Модели, Виды и Контроллеры.

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

"Что это дает Вам?"

Одним из важнейших преимуществ такого подхода является возможность отделения вида (т.е. HTML-разметки страницы) от кода (т.е. от логики приложения).

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

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

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

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

Когда я понял все это, в моем сознании произошел своеобразный переворот - мне больше не хотелось видеть всю эту "кашу" из SQL-запросов, HTML-разметки и PHP-кода в одном файле (так было, когда я использовал базовые возможности "голого PHP" для создания своих сайтов):

Каша из SQL-запросов, HTML-разметки и PHP-кода

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

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

Создатели CodeIgniter сгруппировали часто используемые функции в отдельные файлы, предоставив веб-программистам очень удобный инструмент для работы.

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

Теперь Вы можете написать пару строчек кода вместо пары десятков строчек, экономя Ваше время, сосредоточившись на логике работы приложения, а не на том, как что-то сделать.

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

"Если все так здорово, то почему же так мало людей применяет фреймворк CodeIgniter? Неужели это так сложно?"

Мое мнение таково, что любой начинающий веб-разработчик может успешно применять CodeIgniter в своей деятельности, а для тех, кто уже знает основы PHP, сделать это будет еще проще.

В чем причина?Так в чем же все-таки причина того, что CodeIgniter не применяется так часто, как это могло бы быть?

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

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

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

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

В итоге, после шести месяцев упорного труда на свет появился продукт под названием: "PHP и CodeIgniter с Нуля: Создание Динамических Web-Сайтов". Материалы курса выполнены в формате видеоуроков с фоновыми аудио-объяснениями. С тем, что вошло в этот DVD-диск, Вы можете ознакомиться ниже.

"PHP и CodeIgniter с Нуля: Создание Динамических Web-Сайтов"

"131 видеоурок, 30 часов и 15 минут экранного видео посвящены разработке профессиональных динамических web-сайтов на PHP и CodeIgniter"




Теперь давайте посмотрим на главное меню, появляющееся при вставке DVD-диска в привод компьютера и рассмотрим, из каких разделов состоит видеокурс.


Главное меню диска

Главное меню диска


Курс состоит из 6 разделов. Давайте рассмотрим план каждого из них:

Раздел №1 - "Основы PHP"

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

Раздел 1 - Основы PHP


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

Длительность: 04 минуты 26 секунд

Первый видеоурок является вводным. В нем мы с вами:

Рассмотрим, чему посвящен курс;
Изучим план курса;

Кроме того, я сообщу Вам о некоторых организационных моментах.

Урок 2. Программы, необходимые для работы

Длительность: 06 минут 17 секунд

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

Какие программы можно использовать для написания кода;
Какие редакторы использую лично я;
Где можно взять нужные программы;
Что определило мой выбор в пользу редактора PHPDesigner, который я использую в курсе;
Что такое "Джентльменский набор веб-разработчика" Denwer и зачем он нам нужен.

Урок 3. Установка Denwer

Длительность: 08 минут 02 секунды

Этот урок посвящен установке веб-сервера на Вашем компьютере. Мы рассмотрим следующие моменты:

Процесс установки веб-сервера;
Как убедиться в том, что сервер успешно установлен и функционирует нормально;
Проверим работу тестового домена;
Просмотрим информацию о версии PHP;
Проверим функцию отправки почты в Denwer.

Урок 4. Определение сайта в Denwer и создание проекта в PHPDesigner

Длительность: 06 минут 34 секунды

Как создать тестовый сайт на локальном компьютере;
Какой момент важно не забыть при определении нового сайта в Denwer;
Создаем проект для нового сайта в PHPDesigner;
Создаем первый PHP-файл в нашем проекте;
Как назначить собственный шаблон на создание нового файла в PHPDesigner.

Урок 5. Базовые принципы написания кода и основы работы с PHP

Длительность: 19 минут 05 секунд

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

Как включить PHP-код в страницу;
Как создать первую простую страницу с использованием PHP;
Основы использования оператора echo;
Понятие переменной;
Создание переменных;
Особенности использования двойных и одинарных кавычек для вывода, применение экранирования символов;
Применение комментирования: однострочное и многострочное комментирование.

Урок 6. Имена переменных

Длительность: 07 минут 14 секунд

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

Урок 7. Типы данных: строки и числа

Длительность: 09 минут 13 секунд

В данном уроке мы разберем два важных типа данных в PHP и рассмотрим, какие операции можно с ними производить.

Какие данные относятся к типу "строка", а какие - к типу "число";
Какие операции можно производить над строками и числами;
Как производить операцию слияния (сложения) строк.

Урок 8. Сокращенная форма записи некоторых операций

Длительность: 05 минут 45 секунд

Сокращенные формы записи сложения чисел и строк;
Сокращенные формы записи увеличения и уменьшения значений переменных.

Урок 9. Конструкция if-else и тип boolean

Длительность: 12 минут 09 секунд

Данный урок посвящен еще одному типу данных в PHP и специальной конструкции if-else. Мы разберем следующие вопросы:

Для чего нужна данная конструкция;
Каков синтаксис данной конструкции;
Для чего нужна каждая часть конструкции if-else;
Как производится сравнение значений переменных;
Какую особенность работы этой конструкции обязательно нужно учитывать в своей деятельности;
Тип boolean: что означает данный тип переменной;
Что такое TRUE и FALSE;
Использование значений TRUE и FALSE в конструкции if-else.

Урок 10. Конструкция if-else и операторы AND и OR

Длительность: 24 минуты 56 секунд

Продолжаем изучение конструкции if-else в совокупности с логическими операторами AND и OR:

Что означают логические операторы AND и OR;
Как использовать эти операторы в конструкции if-else;
Как использовать двойные условия и для чего это нужно;
Очередность выполнения математических операций и влияние скобок на эту очередность;
Как использовать вложенные операторы if-else.

Урок 11. Цикл for

Длительность: 17 минут 19 секунд

В этом уроке мы изучим такое фундаментальное понятие, как "цикл" и научимся применять на практике простой цикл for:

Что такое цикл и зачем его использовать (примеры с реального сайта);
Каков синтаксис цикла for;
Какие параметры необходимо передать данной конструкции для правильной работы;
Осуществляем простой вывод в цикле;
Использование вывода в цикле с применением таблицы.

Урок 12. Конструкция switch-case

Длительность: 11 минут 54 секунды

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

Урок 13. Простой массив

Длительность: 15 минут 22 секунды

В этом уроке мы начинаем важную тему, касающуюся работы с массивами в PHP. Массивы применяются при создании сайтов повсеместно. Мы разберем:

Что такое массив;
Зачем использовать массивы;
Каковы отличия массива от переменной;
Какова структура простого (индексного) массива;
Для чего нужны индексы элементов массива;
Как создается простой массив;
Почему важно объявить массив перед созданием его элементов;
Как обратиться к конкретному элементу массива и вывести его на экран;
Какие альтернативные способы можно применять для создания простого массива;
Как вывести элементы массива с помощью цикла for.

Урок 14. Ассоциативный массив

Длительность: 11 минут 30 секунд

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

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

Урок 15. Многомерный массив

Длительность: 15 минут 30 секунд

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

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

Урок 16. Конструкция foreach

Длительность: 09 минут 12 секунд

Этот урок продолжает тему циклов, начатую ранее. Из урока Вы узнаете:

Зачем нужна данная конструкция;
Какое принципиальное отличие foreach от for;
Как быть, если нужно вывести в цикле значения элементов ассоциативного массива;
Что нужно предпринять для вывода как значений, так и ключей массива.

Урок 17. Циклы while и do while

Длительность: 16 минут 14 секунд

Это завершающий урок по циклам. В нем мы разберем еще два часто используемых вида циклов. Из урока Вы узнаете:

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

Урок 18. Введение в функции

Длительность: 20 минут 34 секунды

Данный урок начинает большую тему функций. Функции - одно из центральных понятий в PHP. В этом уроке мы рассмотрим:

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

Урок 19. Функции isset и unset

Длительность: 07 минут 43 секунды

Что позволяют делать эти функции;
Как применять функции isset и unset в связке с условиями if-else;
В каких случаях переменная считается существующей;
Как проверить на существование сразу несколько переменных.

Урок 20. Функции exit и empty

Длительность: 09 минут 52 секунды

Что такое функция exit и для чего она нужна;
Как остановить работу сценария (скрипта);
Какой параметр можно передать функции exit;
Как работает функция empty;
В каких случаях переменная считается пустой;
Как проверить на пустоту массив.

Урок 21. Функция для работы со временем и датой

Длительность: 14 минут 53 секунды

Данный урок посвящен теме работы с датой и временем с помощью встроенной в PHP функции date. Кроме того, мы рассмотрим дополнительные моменты, позволяющие более гибко управлять форматом выводимой даты:

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

Урок 22. Функции для работы со строками

Длительность: 16 минут 54 секунды

Данный урок посвящен обзору некоторых полезных функций PHP, которые часто применяются при работе с данными типа "строка". В уроке мы разберем:

Функцию strlen для вычисления длины строки;
Функции trim, ltrim и rtim для обрезки строк;
Что такое md5-хэш и для чего нужна функция md5;
Функции для работы с регистром символов: strtolower, strtoupper, ucfirst;
Функцию поиска и замены в строке: str_replace;
Какие параметры нужно передавать функции str_replace.

Урок 23. Функции для работы с массивами

Длительность: 18 минут 19 секунд

Данный урок посвящен разбору некоторых полезных функций, которые часто применяются при работе с массивами. В уроке мы разберем:

Как удалять повторяющиеся значения из массива (функция array_unique);
Какую функцию нужно использовать для подсчета количества элементов в массиве;
Как можно проверить, существует ли в массиве элемент с определенным значением (функция in_array);
Какую важную особенность функции in_array необходимо учитывать в своей работе;
Что делает функция extract, и когда ее нужно использовать.

Урок 24. Инструкции include и require

Длительность: 10 минут 19 секунд

Для чего используются данные инструкции;
Как произвести вставку содержимого одного файла в другой;
В чем заключается важное отличие между инструкциями include и require;
В чем преимущество include_once перед include и require_once перед require.

Урок 25. Передача значений переменных методом GET

Длительность: 22 минуты 42 секунды

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

Зачем необходимо передавать значения переменных;
Отличия методов GET и POST;
Общую схему передачи переменных методом GET;
Что такое глобальный массив $_GET;
Где хранятся значения всех переданных переменных;
Как обратиться к переменной, переданной методом GET;
Как можно передать методом GET сразу несколько переменных;
Каким образом можно передать параметры с помощью ссылки;
Как передавать переменные в тот же самый файл, с которым мы работаем;
Как передавать переменные в другой файл.

Урок 26. Передача значений переменных методом POST

Длительность: 15 минут 32 секунды

В этом уроке мы рассмотрим второй, более популярный метод передачи данных - метод POST. Изучив урок, Вы узнаете:

В чем преимущество такого способа передачи;
Как передавать данные методом POST с помощью формы;
Где хранятся значения, переданные методом POST;
Как обратиться к переменной, переданной методом POST;
Как проверить, были ли переданы значения в массив POST.

Урок 27. Глобальный массив SERVER

Длительность: 19 минут 47 секунд

Что это за массив, и что в нем хранится;
Где можно получить больше информации по данному массиву;
Как можно применять элемент HTTP_REFERER массива SERVER;
Как определить браузер посетителя страницы;
В чем смысл применения элемента QUERY_STRING массива SERVER.


Раздел №2 - "Основы SQL и работы с базой данных"

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

Раздел №2 - Основы SQL и работы с базой данных


Урок 1. Создаем первую базу данных

Длительность: 18 минут 39 секунд

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

Что такое база данных;
Для чего нужны базы данных;
С какой системой управления базами данных (СУБД) мы будем работать;
Что означает понятие "реляционная база данных";
Какова структура реляционных баз данных;
В какой программе мы будем работать с базами данных;
Как создавать базы данных в программе phpMyAdmin;
Как создавать таблицы в базе данных;
Что нужно учитывать при создании полей в таблице и установке их параметров;
Что такое тип поля, и как определить, какой тип нужно нам нужно использовать для каждого из полей;
Что такое "первичный ключ" и в чем его смысл;
Когда нужно использовать механизм auto_increment (авто-приращение) для конкретного поля;
Какой тип полей следует использовать при хранении больших объемов текстовой информации;
Как заполнять таблицы в базе данных необходимой информацией;
Как вставлять в таблицу несколько записей подряд.

Урок 2. Соединяемся с базой данных

Длительность: 10 минут 26 секунд

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

Урок 3. Выводим информацию из базы данных

Длительность: 13 минут 04 секунды

Что такое SQL-запрос, и как нужно его составлять для извлечения информации из базы;
Как преобразовать данные, извлеченные из базы, в вид, пригодный для работы с ними;
Как вывести на экран обработанные данные из базы;
Какая важная особенность есть у функции mysql_fetch_array;
Как произвести вывод информации из базы в цикле.

Урок 4. Оператор SELECT для выборки данных

Длительность: 17 минут 24 секунды

Как задавать условия выборки из базы данных, используя оператор WHERE;
Как правильно использовать оператор WHERE с логическими конструкциями AND и OR;
Как выводить из базы лишь определенные поля таблицы;
Каким образом произвести выборку с двойным условием;
Как производить запрос с сортировкой записей;
Как производить запрос с ограничением числа записей.

Урок 5. Оператор INSERT для вставки данных

Длительность: 09 минут 23 секунды

Какой синтаксис у конструкции INSERT;
Как происходит добавление данных в базу;
Как убедиться в успешности добавления информации в базу.

Урок 6. Оператор UPDATE для обновления данных

Длительность: 04 минуты 44 секунды

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

Урок 7. Оператор DELETE для удаления данных

Длительность: 2 минуты 42 секунды

Как удалять данные из базы;
Каков синтаксис конструкции DELETE;
Как правильно составить запрос к базе на удаление записи.


Раздел №3 - "Основы Объектно-ориентированного программирования"

Этот раздел посвящен наиболее важным понятиям объектно-ориентированного программирования в PHP.

Раздел №3 - Основы Объектно-ориентированного программирования


Урок 1. Основы объектно-ориентированного программирования

Длительность: 13 минут 26 секунд

В этом уроке мы начинаем изучение важной темы - так называемого объектно-ориентированного подхода в программировании. Из данного урока Вы узнаете:

Что такое объектно-ориентированное программирование (ООП);
В чем суть объектно-ориентированного подхода в программировании;
Что такое иерархия объектов;
Что такое класс и объект, как они соотносятся друг с другом;
Какова общая структура класса и что в нем содержится;
Что такое методы и свойства в классе;
Что такое наследование, и зачем оно нужно;
В чем смысл расширения одного класса другим;
Как соотносятся между собой родительские и дочерние объекты (предки и потомки).

Урок 2. Функции в классах

Длительность: 14 минут 56 секунд

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

Урок 3. Переменные в классах

Длительность: 09 минут 52 секунды

Как правильно объявлять переменные в классе;
Где будут работать объявленные внутри класса переменные;
Какие отличия существуют между объявлением переменных в PHP4 и PHP5;
Что такое спецификатор доступа и для чего он нужен;
Какой спецификатор доступа мы будем использовать в своей работе;
Как обращаться к переменным из класса через экземпляр объекта;
Как задавать разные значения одной и той же переменной через разные экземпляры объекта;
Как задать значение по умолчанию для переменной в классе.

Урок 4. Конструкция $this

Длительность: 08 минут 41 секунда

Для чего нужна данная конструкция и в чем ее смысл;
Как обратиться внутри класса к переменной в этом классе;
Как обратиться внутри класса к функции в этом классе;

Урок 5. Конструктор

Длительность: 06 минут 14 секунд

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

Урок 6. Наследование

Длительность: 15 минут 19 секунд

В чем смысл наследования;
Как произвести расширение одного класса другим;
Как обратиться к функции родительского класса через экземпляр дочернего класса;
Что такое перегрузка метода;
Как получить доступ к методу родительского класса при наличии одноименного метода в дочернем классе;
Зачем при создании конструктора в дочернем объекте необходимо вызывать конструктор родительского объекта.


Раздел №4 - "Изучаем CodeIgniter"

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

Раздел №4 - Основы CodeIgniter


Урок 1. Понятие фреймворка и модели MVC

Длительность: 11 минут 58 секунд

Что такое фреймворк;
Что из себя представляет фреймворк CodeIgniter;
Что такое MVC (Модель-Вид-Контроллер);
В чем суть данной модели программирования;
Каковы отличия модели MVC от "классической" модели;
Что происходит в каждом из звеньев: Модель, Вид и Контроллер;
Рассматриваем расширенную схему модели MVC.

Урок 2. Скачиваем и устанавливаем CodeIgniter

Длительность: 05 минут 11 секунд

Создаем новый хост в Денвере;
Устанавливаем CodeIgniter;
Как убедиться в том, что фреймворк успешно установлен.

Урок 3. Структура фреймворка, документация и ресурсы

Длительность: 09 минут 26 секунд

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

Где располагается руководство к фреймворку;
Какова структура CodeIgniter;
Каковая функция различных папок и файлов фреймворка;
Где располагаются "системные" файлы CodeIgniter;
C какой папкой будем работать мы, и что в ней располагается;
Где располагаются важные конфигурационные файлы, позволяющие производить тонкую настройку фреймворка;
Для чего в каждой папке располагается файл index.html;
На каких ресурсах можно найти дополнительную информацию по CodeIgniter и получить помощь.

Урок 4. Контроллеры, формирование URL-адресов в CodeIgniter

Длительность: 19 минут 42 секунды

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

Создаем новый проект в phpDesigner;
Создаем в phpDesigner шаблон для нового PHP-файла;
Как дополнительно повысить безопасность приложения, используя в своих файлах одну важную конструкцию;
Как создавать контроллеры;
Как нужно называть контроллеры;
Почему любой наш контроллер должен расширять "системный" класс Controller из CodeIgniter;
Что будет происходить при обращении к контроллеру через адресную строку браузера;
Какая функция выполняется по умолчанию при обращении к любому контроллеру;
Как обратиться к файлу вида для вывода информации на экран;
Как называть файлы вида;
Какова структура url-адреса в CodeIgniter;
Как назначить контроллер по умолчанию, к которому будет происходить обращение при загрузке сайта;
Как избавиться от файла index.php в url-адресе с помощью файла .htaccess.

Урок 5. Дополнение по контроллерам, разбор файла config.php

Длительность: 14 минут 51 секунда

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

Разбираем файл config.php и меняем некоторые конфигурационные настройки;
Как создавать контроллеры в подпапках и обращаться к ним;
Какова структура контроллера;
Как передавать значения переменных через адресную строку;

Урок 6. Принципы именования при работе с CodeIgniter

Длительность: 09 минут 40 секунд

При работе с CodeIgniter необходимо придерживаться определенных правил при именовании файлов, классов, контроллеров и т.д. Об этом мы и поговорим в данном уроке:

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

Урок 7. Передача переменных в вид

Длительность: 19 минут 31 секунда

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

Урок 8. Передача данных методом POST с помощью CodeIgniter

Длительность: 07 минут 40 секунд

В этом уроке мы изучим то, как работать с массивом POST, используя возможности CodeIgniter. Мы с Вами:

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

Урок 9. Библиотеки в CodeIgniter

Длительность: 12 минут 55 секунд

В этом уроке мы рассмотрим понятие библиотеки и основные моменты при работе с ними:

Что такое библиотеки, и для чего они нужны;
В чем основное отличие библиотек от контроллеров и моделей;
Как создавать собственные библиотеки;
Как обращаться к библиотеке из контроллера;
Как обращаться к функциям в библиотеке;
Как в самописной библиотеке получить доступ к суперобъекту CodeIgniter, и для чего это нужно.

Урок 10. Хэлперы в CodeIgniter

Длительность: 08 минут 49 секунд

В данном уроке мы разберем понятие хэлпера в CodeIgniter и осноные моменты при работе с ними:

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

Урок 11. Разбор файл autoload.php

Длительность: 04 минуты 16 секунд

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

Урок 12. Создаем тестовую базу данных и разбираем файл database.php

Длительность: 11 минут 55 секунд

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

Создаем новую базу данных и нового пользователя для базы;
Заполняем базу тестовыми данными;
Настраиваем соединение с базой данных с помощью CodeIgniter;
Производим необходимые настройки для того, чтобы подключение к базе данных происходило автоматически;
Вносим изменения в файл database.php для работы с созданной нами базой;
Учимся проверять, успешно ли прошло подключение к базе.

Урок 13. Извлечение информации из базы

Длительность: 23 минуты 48 секунд

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

Урок 14. Класс active record

Длительность: 17 минут 20 секунд

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

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

Урок 15. Добавление информации в базу

Длительность: 06 минут 22 секунды

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

Урок 16. Обновление и удаление информации в базе

Длительность: 08 минут 02 секунды

Какая функция занимается обновлением информации в базе;
Какие параметры нужно передать функции обновления;
Совместно с каким условием обычно производится обновление информации в базе;
Какая функция занимается удалением информации из базы;
Какой параметр передается функции удаления;
Как случайно не удалить всю информацию из таблицы;

Урок 17. Разбираем файл routes.php

Длительность: 10 минут 11 секунд

Что такое роутер в CodeIgniter;
Для чего используются роутеры;
Где нужно указывать контроллер (и даже функцию в нем), к которому будет происходить обращение при загрузке сайта;
Как создавать свои собственные роутеры;
Какие дополнительные удобные конструкции можно использовать при написании своих роутеров.


Раздел №5 - "Создаем приложение на CodeIgniter" (страница 1)

Пятый раздел посвящен созданию полноценного динамического приложения на PHP с использованием CodeIgniter.

Раздел №5 - Создаем приложение на CodeIgniter (страница 1)


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

Длительность: 03 минуты 49 секунд

В этом вводном уроке мы разберем некоторые организационные моменты относительно наших будущих действий, а именно:

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

Урок 2. Подготовительные работы

Длительность: 06 минут 44 секунды

Создаем новый проект в Денвере;
Устанавливаем свежую копию CodeIgniter;
Определяем новый проект в программе phpDesigner;
Создаем пользователя и базу данных в phpMyAdmin

Урок 3. Разрабатываем структуру базы данных

Длительность: 21 минута 37 секунд

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

Урок 4. Наполняем базу данных

Длительность: 19 минут 54 секунды

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

Урок 5. Графика и основные настройки приложения

Длительность: 16 минут 13 секунд

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

Урок 6. Начинаем подготавливать каркас для сайта

Длительность: 17 минут 34 секунды

Где можно взять простые шаблоны CSS, которые могут являться каркасом для сайта;
Разбираем общую структуру шаблона, который будет основой каркаса нашего приложения;
Вносим небольшие правки в базовый CSS-шаблон;
Создаем контроллер pages для работы со страницами;
Создаем в нем функцию-конструктор, а также функцию index для отображения каркаса главной страницы;

Урок 7. Продолжаем дорабатывать каркас сайта

Длительность: 33 минуты 25 секунд

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

Урок 8. Разбиваем каркас на блоки

Длительность: 15 минут 44 секунды

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

Урок 9. Разбираем схему работы контроллера pages

Длительность: 10 минут 38 секунд

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

Урок 10. Выводим контент главной страницы из базы данных

Длительность: 24 минуты 49 секунд

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

Урок 11. Продолжаем дорабатывать главную страницу

Длительность: 24 минуты 23 секунды

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

Урок 12. Выводим свежие и популярные материалы

Длительность: 15 минут 11 секунд

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

Урок 13. Пишем роутеры для контроллера pages

Длительность: 11 минут 13 секунд

Как подстраховаться от любопытных пользователей, пытающихся набрать в адресной строке "неправильные" адреса;
Как мы изменим функцию index в контроллере pages;
Как работает функция redirect в CodeIgniter, и как мы ее применим для решения наших задач;
Какую важную "цепочку" действий следует понять, чтобы не запутаться в редиректах и контроллерах по умолчанию;
Пишем в файле routes.php собственные роутеры для перенаправления любопытных пользователей на нужную нам страницу;

Урок 14. Реализуем страницу "Об авторе"

Длительность: 18 минут 10 секунд

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

Урок 15. Разбираем схему работы страницы контактов

Длительность: 17 минут 04 секунды

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

Урок 16. Пишем вспомогательную библиотеку captcha_lib

Длительность: 13 минут 14 секунд

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

Урок 17. Пишем правила валидации для контактной формы

Длительность: 11 минут 38 секунд

Как нужно задавать правила валидации;
Разбираем правило "Одно поле - один массив";
Какие значения нужно задавать для каждого из полей массива;
Какие правила можно применять для проверки вводимых пользователем данных;
Как сделать поле обязательным для заполнения;
Какое правило позволяет защититься от XSS-атак;
Как задать ограничение на объем вводимой в поле информации;
Какое правило применяется для проверки корректности введенного пользователем e-mail адреса;
Как проследить, чтобы в определенное поле человек мог вводить только цифры.

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

Длительность: 12 минут 50 секунд

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

Урок 19. Добиваемся отображения страницы контактов

Длительность: 12 минут 50 секунд

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

Урок 20. Заканчиваем со страницей контактов

Длительность: 13 минут 21 секунда

Пишем дополнительный роутер в файле routes.php;
Какие библиотеки нужно добавить в файл автозагрузки autoload.php;
Зачем нам править оригинальную библиотеку CodeIgniter - Form_validation;
Меняем атрибут action в контактной форме с учетом нового роутера;
Как на локальном компьютере можно проверить, сработала ли функция отправки почты.

Урок 21. Реализуем вывод материалов полностью

Длительность: 24 минуты 46 секунд

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

Урок 22. Рассматриваем схему реализации комментариев

Длительность: 08 минут 07 секунд

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

Урок 23. Начинаем работу над комментариями

Длительность: 13 минут 48 секунд

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

Урок 24. Заканчиваем работу над комментариями

Длительность: 32 минуты 13 секунд

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

Урок 25. Получение настроек из базы данных

Длительность: 14 минут 19 секунд

Заполняем таблицу preferences в базе данных;
Как мы будем получать настройки из базы, и куда они будут помещаться;
Что из себя представляет конфигурационный массив в CodeIgniter;
Как использовать конфигурационный массив CodeIgniter;
Создаем новую модель - administration_model;
Пишем в данной модели функцию, которая считывает настройки из базы данных и заносит их в конфигурационный массив CodeIgniter.

Урок 26. Создаем функцию, отображающую разделы сайта

Длительность: 22 минуты 08 секунд

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

Урок 27. Делаем постраничную навигацию. Часть 1

Длительность: 23 минуты 58 секунд

Создаем новую модель - sections_model;
Создаем вспомогательную библиотеку pagination_lib для работы с постраничной навигацией;
Как задаются настройки для постраничной навигации;
Что такое "сегмент url" в CodeIgniter, и как мы будем их использовать;
Пишем функцию для подсчета количества материалов в конкретной категории;
Создаем новую функцию для получения материалов из базы, исходя из разбивки для постраничной навигации.

Урок 28. Делаем постраничную навигацию. Часть 2

Длительность: 12 минут 40 секунд

Создаем вид для вывода разделов;
На основании какого файла проще всего создать вид для вывода разделов;
Какие новые роутеры надо добавить в файл routes.php;
Проверяем работоспособность постраничной навигации.

Урок 29. Меняем внешний вид постраничной навигации

Длительность: 06 минут 47 секунд

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

Урок 30. Готовимся к созданию архива материалов

Длительность: 08 минут 27 секунд

Какое дополнительное поле в таблице materials нам понадобится для реализации архива;
Как добавить новое поле в уже существующую таблицу;
Вносим даты добавления для всех существующих материалов в базу данных.

Урок 31. Создаем архив материалов. Часть 1

Длительность: 15 минут 02 секунды

Почему нам потребуется внести изменения во все 4 контроллера;
Какую новую функцию мы напишем в модели administration_model;
Как изменится вид правого блока нашего сайта;
Почему в функции получения архива мы используем обычный SQL-запрос вместо стандартных средств CodeIgniter;
Как правильно использовать в виде один цикл foreach внутри другого для вывода списка месяцев архива.

"Создаем приложение на CodeIgniter" (страница 2)

Пятый раздел посвящен созданию полноценного динамического приложения на PHP с использованием CodeIgniter.

Раздел №5 - Создаем приложение на CodeIgniter (страница 2)


Урок 32. Создаем архив материалов. Часть 2

Длительность: 14 минут 40 секунд

Реализуем функцию отображения архива в новом контроллере administration;
Как сделать так, чтобы в адресной строке не присутствовало название контроллера "administration";
Какие новые роутеры нам нужно создать в файле routes.php;
Как работать с сегментами url-адреса;
Создаем вид для вывода архива;
Пишем еще одну функцию для работы с архивом в модели administration_model.

Урок 33. Начинаем работу над администраторской частью

Длительность: 29 минут 56 секунд

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

Урок 34. Добавление материала. Введение

Длительность: 09 минут 04 секунды

Какая функция будет отвечать за добавление материала в контроллере materials;
Рассматриваем общую схему реализации добавления материала;
Какую функцию мы будем использовать для вывода информационных сообщений в администраторской панели.

Урок 35. Добавление материала. Часть 1

Длительность: 17 минут 45 секунд

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

Урок 36. Добавление материала. Часть 2

Длительность: 25 минут 17 секунд

Пишем универсальную функцию добавления в модели crud;
Разбираем, какие операции происходят в этой функции;
Как мы проверяем в этой функции, добавляется ли материал, либо страница или раздел;
Каким интересными приемами мы будем пользоваться при формировании массива для добавления материала;
Как мы будем использовать ссылки на переменную.

Урок 37. Редактирование материала. Часть 1

Длительность: 18 минут 23 секунды

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

Урок 38. Редактирование материала. Часть 2

Длительность: 08 минут 23 секунды

Рассматриваем схему реализации функции редактирования;
Как будет реализована функция редактирования в контроллере materials;
Какой вспомогательный хэлпер для работы с чекбоксами мы напишем;
Какую функцию нам нужно добавить в модель materials_model;
Какие особенности есть в файле вида для редактирования материала.

Урок 39. Редактирование материала. Часть 3

Длительность: 24 минуты 00 секунд

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

Урок 40. Обновление материала. Часть 1

Длительность: 15 минут 58 секунд

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

Урок 41. Обновление материала. Часть 2

Длительность: 18 минут 07 секунд

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

Урок 42. Удаление материала

Длительность: 18 минут 09 секунд

Создаем функцию удаления в контроллере materials;
Модифицируем библиотеку pagination_lib для вывода списка материалов для удаления с постраничной разбивкой;
Как мы будем узнавать, какой материал выбран, чтобы произвести его удаление;
Пишем универсальную функцию удаления в модели crud;
Создаем вид для удаления материала.

Урок 43. Редактирование комментариев (вывод списка)

Длительность: 14 минут 48 секунд

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

Урок 44. Редактирование и обновление комментариев

Длительность: 17 минут 11 секунд

Пишем функцию редактирования в контроллере comments;
Создаем вид для редактирования комментария;
Пишем функцию для обновления комментария;
Создаем правила валидации для обновления комментариев;
Рассматриваем процесс обновления комментария в модели crud.

Урок 45. Удаление комментариев

Длительность: 09 минут 49 секунд

Создаем функцию удаления комментариев в контроллере comments;
Модифицируем библиотеку pagination_lib для вывода списка комментариев для удаления с постраничной разбивкой;
Пишем файл вида для удаления комментариев.

Урок 46. Добавление страниц

Длительность: 15 минут 02 секунды

По какому принципу нужно присваивать идентификатор новой странице;
Создаем функцию добавления страницы в контроллере pages;
Пишем правила валидации для добавления страниц;
Рассматриваем процесс добавления страницы в модели crud;
Создаем вид для добавления страниц.

Урок 47. Редактирование страниц

Длительность: 09 минут 36 секунд

Пишем функцию для вывода списка страниц для редактирования;
Создаем новую функцию в модели pages_model для получения массива по всем страницам;
Делаем новый вид для вывода списка страниц;
Пишем функцию для редактирования страниц в контроллере pages;
Создаем новый файл для вида редактирования страниц.

Урок 48. Обновление и удаление страниц

Длительность: 10 минут 42 секунды

Создаем функцию обновления в контроллере pages;
Задаем массив правил для обновления страниц;
Пишем новую функцию для удаления страниц;
Создаем вид для удаления страниц.

Урок 49. Добавление категорий

Длительность: 06 минут 48 секунд

Создаем функцию для добавления категорий в контроллере sections;
Пишем правила валидации для добавления нового раздела;
Реализуем вид для добавления новой категории.

Урок 50. Редактирование категорий

Длительность: 05 минут 34 секунды

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

Урок 51. Обновление и удаление категорий

Длительность: 06 минут 32 секунды

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

Урок 52. Дополнение по категориям

Длительность: 11 минут 37 секунд

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

Урок 53. Управление настройками из админки

Длительность: 14 минут 41 секунда

Как устроена страница управления настройками;
Создаем две новые записи в таблице настроек в базе данных;
Создаем функцию preferences в контроллере administration;
Задаем правила валидации для настроек;
Какой прием мы будем использовать для обновления настроек в базе данных;
Каким образом мы выводим значения настроек из базы данных прямо в файл вида, минуя модель и контроллер;
Как создать поле для ввода пароля.

Урок 54. Авторизация. Введение

Длительность: 06 минут 28 секунд

Какие функции в контроллере administration будут руководить процессом авторизации и выхода;
Как мы будем проверять тот факт, что авторизация была пройдена;
Где будут находиться правила валидации для авторизационных данных;
В какой библиотеке будут происходить процессы авторизации и выхода;
Какую дополнительную защиту мы будем использовать.

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

Длительность: 12 минут 18 секунд

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

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

Длительность: 16 минут 17 секунд

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

Урок 57. Авторизация. Часть 3

Длительность: 15 минут 48 секунд

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


Раздел №6 - "Дополнительные возможности и перенос на реальный сервер"

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

Раздел №6 - Дополнительные уроки


Урок 1. Добавляем на сайт RSS-ленту

Длительность: 13 минут 37 секунд

Что такое RSS и для чего это нужно;
Создаем функцию для работы с RSS-лентой в контроллере administration;
Пишем функцию для получения материалов, из которых будет формироваться RSS-лента;
Пишем вид для отображения RSS-ленты;
Какой синтаксис нужно соблюдать при создании RSS-канала;
Какие тэги необходимо использовать для нормальной работы ленты;
Какой роутер нам нужно дописать в файле routes.php;
Вносим правки в левый блок для отображения иконки RSS-подписки.

Урок 2. Добавляем смайлы к форме комментирования

Длительность: 15 минут 46 секунд

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

Урок 3. Подключаем визуальный редактор TinyMCE. Часть 1

Длительность: 04 минуты 57 секунд

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

Урок 4. Подключаем визуальный редактор TinyMCE. Часть 2

Длительность: 17 минут 12 секунд

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

Урок 5. Поиск по сайту. Введение

Длительность: 10 минут 14 секунд

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

Урок 6. Поиск по сайту. Часть 1

Длительность: 14 минут 11 секунд

Пишем функцию поиска в контроллере administration;
Какой хэлпер нам понадобится для реализации подсветки поискового запроса в результатах поиска;
Как можно фильтровать полученные из массива POST данные на XSS-атаку;
Какую функцию мы будем использовать для того, чтобы введенный пользователем запрос не содержал HTML-разметки.

Урок 7. Поиск по сайту. Часть 2

Длительность: 14 минут 16 секунд

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

Урок 8. Поиск по сайту. Часть 3

Длительность: 29 минут 32 секунды

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

Урок 9. Поиск по сайту. Часть 4

Длительность: 11 минут 37 секунд

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

Урок 10. Рекомендации по обновлению CodeIgniter

Длительность: 08 минут 24 секунды

Где можно посмотреть инструкцию по обновлению от разработчиков фреймворка;
Какой важный момент нужно учитывать при обновлении CodeIgniter, если вы вносили изменения в его "системные" файлы;
Почему всегда нужно точно помнить те "системные" файлы (а лучше - вести их список), которые Вы модифицировали.

Урок 11. Вносим мелкие правки и готовимся к переносу сайта на реальный сервер

Длительность: 09 минут 45 секунд

Убираем отображение списка файлов в каталоге img в корне сайта;
Вспоминаем про то, что в нескольких местах необходимо поменять мои e-mail адреса на Ваши;
Исправляем имя домена для формирования правильной ссылки в письме-оповещении о новом комментарии;
Вносим косметические правки в два файла вида и модель administration_model;
Исправляем имя домена в виде для результатов поиска для формирования правильных адресов.

Урок 12. Переносим сайт на реальный хостинг. Часть 1

Длительность: 28 минут 53 секунды

Как соединиться с FTP-сервером для загрузки файлов на хостинг;
Как создать в панели управления хостингом новую базу данных и пользователя;
Как произвести сопоставление пользователя и базы;
Как перенести базу данных с локального компьютера на сервер;
Скачиваем с хостинга файлы database.php и config.php для внесения правок в настройки;
Какой момент надо учитывать для того, чтобы отображалась капча для комментариев и формы обратной связи;
Какие "подводные камни" поджидают нас при работе с графикой и стилями;
Какие "странные вещи" могут происходить при запущенном веб-сервере, вводя нас в заблуждение.

Урок 13. Переносим сайт на реальный хостинг. Часть 2

Длительность: 07 минут 38 секунд

Меняем пароль для входа в администраторскую панель;
Экспериментируем в админке с настройками и авторизацией;
Проверяем работоспособность функций добавления, редактирования и удаления.




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

Представьте, сколько времени и нервов Вы сэкономите себе, изучив этот курс. Все то, что я изучал несколько месяцев, собрано воедино в 30 часов и 15 минут времени - все самое важное и необходимое для достижения отличных результатов.

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

Однако и это ещё не всё...

Вместе с этим диском Вы получите еще 4 прекрасных подарка, которые хорошо дополняют видеокурс.

За бонусные уроки не нужно платить дополнительно, они будут записаны на диск вместе с остальными разделами курса.



Подарок №1
Видеоурок: "Быстрое форматирование"

Длительность:
07 минут 31 секунда

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

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

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

В данном уроке Вы узнаете:

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



Подарок №2
Видеоурок: "Раскрывающийся список на JavaScript"

Длительность:
09 минут 07 секунд

В настоящее время раскрывающиеся списки и им подобные эффекты применяются повсеместно.

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

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

В данном уроке Вы узнаете:

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



Подарок №3
Видеоурок + Набор "Полезные учебники"

Длительность:
07 минут 18 секунд

Да, зачастую без "старых добрых" учебников - никуда. Но не все учебники и справочники одинаково хороши.

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

Именно поэтому я собрал 5 лучших, с моей точки зрения, учебников и справочников и приложил их на диск.

В данном уроке мы разберем:

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


Подарок №4
Видеоурок: "Вставка аудио и видео на сайт"

Длительность:
16 минут 10 секунд

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

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

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

В данном уроке Вы узнаете:

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



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




"Быстрое форматирование"

"Раскрывающийся список на JS"

"Полезные учебники"

"Вставка аудио и видео на сайт"

Сколько это стоит?

Если Вы решили, что данный видеокурс поможет Вам в решении Ваших задач, то Вас, конечно, волнует цена.

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

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

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

Введите в любом поисковике запрос "создание сайта" и посмотрите на стоимость создания сайтов различного типа.












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

Может быть, лучше самому научиться делать сайты?

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

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

В итоге, я остановился на следующей цифре:

2390 руб.




"Быстрое форматирование"

"Раскрывающийся список на JS"

"Полезные учебники"

"Вставка аудио и видео на сайт"




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

Форма Заказа

Стоимость цифровой версии:

2390 руб.

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

Размер видеокурса "PHP и CodeIgniter с Нуля: Создание Динамических Web-Сайтов" составляет 2,7 Гб.


Ответы на популярные вопросы:

  • Как можно оплатить курс?
  • Сколько нужно ждать, если я закажу цифровую версию?
  • Смогу ли я смотреть уроки на MAC OS?
  • Как можно связаться с Вами?
  • P.S.
    Если Вы все еще настроены скептически...

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

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

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

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

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