Урок 1. Программы для работы
- Какие программы понадобятся нам для работы;
- На что обратить внимание при выборе редактора кода;
- Как получить отличный PHP-редактор почти даром;
- Что такое Denwer (Денвер).
Урок 2. Настройка кодировки в редакторах кода
- Что такое кодировки;
- Зачем они нужны;
- Как настроить верную кодировку в редакторе кода.
Урок 3. Установка Денвера
- Где скачать "Джентльменский набор веб-разработчика";
- Как установить Денвер;
- На что обратить внимание в процессе установки;
- Какую полезную информацию после установки следует запомнить.
Урок 4. Основы работы с Денвером
- Как запустить локальный сервер;
- Как можно обращаться к главной странице Денвера;
- Проверяем работоспособность хоста, созданного в Денвере по умолчанию;
- Как создавать собственные сайты на локальном компьютере;
- На что нужно обратить внимание, чтобы новый хост вступил в силу;
- Какой файл ищет сервер при обращении к сайту;
- Почему для имен хостов удобнее использовать имена, которые заведомо не могут совпасть с именами реальных доменов;
- Каков механизм работы локального сервера и как можно "обмануть" свой компьютер;
- Как работает файл hosts;
- Как поменять кодировку веб-сервера Apache в Денвере.
Урок 5. Создание хоста в Денвере и проекта в phpDesigner
- Как создать проект в программе phpDesigner;
- Как настроить свои собственные шаблоны для создаваемых файлов;
- Для чего нужен файл .htaccess.
Урок 6. Как работает PHP и первое приложение
- Почему нельзя писать PHP-код внутри HTML-файлов;
- Как вывести на экран информацию средствами PHP;
- Какова принципиальная разница между выводом информации в HTML-файле и выводом ее с помощью языка PHP;
- Почему в исходном коде веб-страницы мы не видим PHP-кода.
Урок 7. Двойные и одинарные кавычки. Понятие переменной
- В чем смысл двойных и одинарных кавычек в PHP;
- Каковы принципиальные различия в их работе;
- Что такое переменная и в чем ее смысл;
- Как задаются значения переменных;
- Как выводить на экран значения переменных;
- Как выводить HTML-разметку средствами языка PHP;
- Что такое экранирование и когда оно используется;
- Что такое "ошибка разбора строки" (parse error).
Урок 8. Правила именования переменных и операция ссылки
- Какими правилами и принципами нужно руководствоваться при задании имен переменных;
- Что такое "операция ссылки";
- Как работает механизм присвоения значения переменной.
Урок 9. Использование комментариев
- Что такое комментарии и для чего они нужны;
- Какие виды комментариев существуют;
- Как вставлять комментарии с помощью phpDesigner.
Урок 10. Типы данных - строки и числа
- Что такое тип данных;
- Как работать с основными математическим операциями;
- Как работает операция "сложения" строк (конкатенация);
- Как можно выводить значения переменных внутри двойных кавычек;
- Числа в системах счисления помимо десятичной;
- Что такое числа с плавающей точкой.
Урок 11. Сокращенная форма записи некоторых операций
- Как применять сокращенные формы записи для арифметических операций;
- Какие сокращенные формы записи можно использовать при работе со строками;
- В чем суть операций префиксного и суффиксного инкремента и декремента.
Урок 12. Конструкция if-else; тип boolean; логические операторы
- Как работать с логическими условиями "если, то";
- В чем смысл данных типа boolean и как они применяются на практике;
- Как произвести остановку выполнения PHP-сценария в любой момент;
- Как работают основные логические операторы в PHP.
Урок 13. Равенство и идентичность; приоритетность; тернарный оператор
- В чем отличие понятий "равенство" и "строгое равенство";
- Почему важно учитывать приоритетность выполнения операторов;
- Как можно повысить приоритет выполнения того или иного оператора;
- Что такое тернарный оператор и когда следует его использовать.
Урок 14. Вложенные конструкции if-else и конструкция elseif
- Как использовать конструкции if-else, вложенные одна в другую;
- В чем смысл конструкции elseif;
- Как проверить на истинность несколько условий подряд;
- Как работает конструкция elseif.
Урок 15. Конструкция switch-case
- Для чего нужна конструкция switch-case;
- В каких случаях удобнее всего использовать данную конструкцию;
- Какие особенности конструкции switch-case важно учитывать при работе.
Урок 16. Циклы while и do while
- Где применяются циклы при создании сайтов;
- Каков синтаксис циклов while и do while;
- О каком важном отличии между этими циклами обязательно нужно помнить в процессе работы.
Урок 17. Цикл for
- Каков синтаксис цикла for;
- Какова принципиальная схема его работы;
- Что такое итерация.
Урок 18. Дополнения по циклам
- Как принудительно совершить выход из цикла;
- Оператор break и особенности его работы;
- Оператор continue для пропуска оставшейся части текущей итерации цикла;
- Что такое бесконечные циклы и как избежать их появления.
Урок 19. Простой массив
- Что такое массив и как он организован;
- Понятие индексов и элементов массива;
- Как объявить массив и наполнить его данными;
- По какому принципу происходит автоматическое присвоение индексов элементам массива;
- Какие способы создания массива существуют;
- Используем цикл для прохода по элементам массива.
Урок 20. Ассоциативный массив
- В чем отличие ассоциативного массива от простого;
- Способы создания ассоциативных массивов;
- Особенности вывода на экран элементов ассоциативного массива.
Урок 21. Цикл foreach
- Почему цикл for не всегда удобен для работы с ассоциативными массивами;
- В чем преимущество цикла foreach для работы с ними;
- Как можно обратиться не только к элементам ассоциативного массива, но и к его ключам.
Урок 22. Многомерный массив
- В чем смысл многомерного массива и что он из себя представляет;
- Как правильно задавать структуру многомерного массива;
- Как происходит обращение к элементам многомерного массива;
- Для чего нужна распечатка массива и как ее выполнить;
- Какие есть способы для создания многомерных массивов.
Урок 23. Понятие, область применения и вызов функции
- Что такое функции и в чем преимущества их использования;
- Что такое вызов функции и как его осуществить;
- Что такое параметр и как его передать в функцию;
- Что такое прототип функции и как им пользоваться;
- Обязательные и необязательные параметры функции и порядок их следования;
- Что такое значения по умолчанию для параметров функции.
Урок 24. Именование функций и создание собственных функций
- Какие существуют правила при задании имен функций;
- Как создавать свои собственные функции;
- Какой альтернативный способ существует для вызова функций;
- Как произвести многократный вызов одной и той же функции;
- Как дать понять интерпретатору PHP, что определенные параметры функции должны быть необязательными;
- Как происходит переопределение значений необязательных параметров при вызове функции.
Урок 25. Ключевое слово return и возврат значений из функции
- Для чего нужно ключевое слово return;
- В чем смысл возвращения значения функцией;
- Для чего присваивать результат выполнения функции переменной;
- Когда функции возвращают значения TRUE или FALSE.
Урок 26. Область видимости переменных
- Что такое область видимости переменных;
- В чем отличия локальных и глобальных переменных;
- Как ведут себя локальные переменные при повторных вызовах функции, в рамках которой они заданы;
- Для чего нужны статические переменные и как их создать;
- Как ведут себя статические переменные при повторных вызовах функции, в рамках которой они заданы;
- Как можно работать с глобальными переменными внутри функций.
Урок 27. Передача параметров по ссылке и по значению
- Как работает стандартный механизм передачи параметров функции (по значению);
- Что такое передача параметра по ссылке;
- Каково принципиальное отличие между двумя способами передачи параметров.
Урок 28. Функции для работы с типами переменных
- Как узнать тип любой переменной;
- Как можно принудительно привести переменную к определенному типу;
- Для чего нужен псевдотип данных mixed;
- Как проверить, содержит ли переменная данные конкретного типа.
Урок 29. Функции проверки состояния переменных
- Как можно проверить существование конкретной переменной;
- Каким образом можно удалять переменные;
- Как проверить существование переменной и наличие у нее непустого ненулевого значения;
- Какие переменные считаются в PHP пустыми и несуществующими.
Урок 30. Функции для работы с массивами: count, array_unique, extract
- Как узнать количество элементов, содержащихся в массиве;
- Как нам получить только уникальные элементы массива;
- Как преобразовать ключи массива в отдельные переменные.
Урок 31. Функции для работы с массивами: in_array, range
- Каким образом можно проверить существование в массиве элемента с определенным значением;
- Какой важный момент следует учитывать при такой проверке;
- Как можно проверить существование в составе массива другого массива;
- Как можно сохранить в массив определенную последовательность цифр или букв (с заданным шагом).
Урок 32. Сортировка массивов: sort, asort, ksort
- Упорядочивание массива в алфавитном и цифровом порядке;
- Какие особенности работы функций сортировки нужно иметь в виду;
- Как обеспечить сортировку массива с совместным сохранением ключей и значений;
- Как произвести сортировку массива по его ключам.
Урок 33. Сортировка массивов: rsort, arsort, krsort
- Как произвести обратную сортировку массива в алфавитном и цифровом порядке;
- Как обеспечить обратную сортировку массива с совместным сохранением ключей и значений;
- Как произвести обратную сортировку массива по его ключам.
Урок 34. Сортировка массивов: shuffle, array_reverse
- Какую функцию нужно использовать для того, чтобы перемешать элементы массива в произвольном порядке;
- Как можно вывести элементы массива в обратном порядке.
Урок 35. Работа со строками: введение
- Какое место занимают функции для работы со строками в языке PHP;
- Какие задачи можно решать с помощью функций работы со строками;
- Какие есть трудности при использовании строковых функций по отношению к строкам в кириллической кодировке;
- Какая библиотека позволяет решить эти трудности;
- Что такое однобайтовые и многобайтовые кодировки;
- В чем основное ограничение однобайтовых кодировок;
Урок 36. Функции обрезки строк: trim, ltrim, rtrim
- Для чего может понадобиться обрезка строк;
- Чем может быть опасно игнорирование функций обрезки строк;
- Какие функции можно использовать для очистки строк от лишних пробельных символов, символов табуляции, переноса строки и т.д.
Урок 37. Функция nl2br: преобразование новой строки в тэг переноса
- Для чего может быть полезно преобразование новой строки в тэг переноса строки;
- Как работает функция nl2br;
- Какие особенности ее "поведения" нужно знать.
Урок 38. Функции изменения регистра символов в строке: mb_strtoupper, mb_strlower, mb_convert_case
- Для чего нужно менять регистр символов в обрабатываемых строках;
- Как привести строковые данные к верхнему и нижнему регистру;
- Как работает универсальная функция, меняющая как регистр, так и производящая капитализацию первой буквы каждого слова в строке.
Урок 39. Функции printf и sprintf: работа с форматированными данными
- В чем смысл использования функций работы с форматированными данными;
- Что такое код форматирования и для чего он нужен;
- Как можно использовать функции форматирования данных для одновременной обработки ряда переменных;
- Каковы отличия функций printf и sprintf.
Урок 40. Функции explode и implode
- Как можно разделить строки на части по заданному нами правилу;
- Как можно объединить две строки в одну, соединв их по заданному нами правилу;
- В каких ситуациях могут быть полезны функции explode и implode.
Урок 41. Доступ к подстроке и длина строки: функции mb_substr и mb_strlen
- Для чего удобно использовать функции доступа к подстрокам в рамках других строк;
- Как использовать фукнцию mb_substr для извлечения из строки нужной нам части;
- Как можно подсчитать количество символов в строке и когда это нужно.
Урок 42. Поиск подстрок в строках: mb_strstr, mb_stristr, mb_strrchr, mb_strrichr
- Как найти первое вхождение подстроки в строку с учетом регистра символов;
- Как найти первое вхождение подстроки в строку без учета регистра символов (полезно при создании поиска по сайту);
- Как найти последнее вхождение подстроки в строку с учетом регистра символов;
- Как найти последнее вхождение подстроки в строку без учета регистра символов.
Урок 43. Определение позиции подстроки: mb_strpos, mb_stripos, mb_strrpos, mb_strripos
- Как найти позицию первого вхождения построки в другую строку с учетом регистра символов;
- Какие существуют возможности для более детальной настройки поиска вхождения подстроки в строку;
- Как найти позицию первого вхождения построки в другую строку без учета регистра символов;
- Как найти позицию последнего вхождения подстроки в строку с учетом регистра символов;
- Как найти позицию последнего вхождения подстроки в строку без учета регистра символов;
- Какую важную особенность функций поиска нужно учитывать, чтобы избежать ошибок.
Урок 44. Поиск и замена: функция str_replace
- Как найти все вхождения подстроки в строку и произвести их замену на нужный нам текст;
- Как узнать количество замен, которые были произведены;
- Как найти все вхождения массива в другой массив и произвести замену этих вхождений другим массивом.
Урок 45. Передача значений переменных методом GET
- Для чего нужно передавать значения переменных;
- Как передаются значения переменных с помощью адресной строки;
- Что такое суперглобальный массив $_GET;
- Как создать динамически формируемый контент страницы в зависимости от передаваемого методом GET параметра;
- Как передавать несколько параметров методом GET и как получать их значения.
Урок 46. Метод POST и html-формы. Часть 1
- В чем отличие методов GET и POST при передаче данных;
- Когда применяется метод POST;
- Что нужно указать в форме, чтобы данные, введенные в нее, отправлялись методом POST;
- Как указать в форме, куда будут переданы данные на обработку;
- Как задать значения по умолчанию для полей формы.
Урок 47. Метод POST и html-формы. Часть 2
- Как создать простой калькулятор на PHP, используя возможности передачи данных методом POST;
- Как сделать так, чтобы данные, передаваемые из формы, обрабатывались тем же файлом, в котором находится форма;
- Какие функции нам понадобятся для работы нашего калькулятора и как они работают.
Урок 48. Глобальные массивы $_REQUEST и $_SERVER
- Что такое глобальный массив $_REQUEST и какая информация в нем хранится;
- Для чего предназначен глобальный массив $_SERVER;
- Какие данные можно найти в этом массиве
- Как узнать IP-адрес посетителя, его браузер, страницу, с которой был совершен переход и т.п.;
- По какому механизму работают партнерские программы для отслеживания того, от какого партнера и откуда пришел человек.
Урок 49. Работа с cookies
- Что такое cookies и для чего они нужны;
- Как можно "запомнить" посетителя сайта с помощью cookies;
- Когда нужно устанавливать cookies;
- Как работает механизм cookies;
- Как установить куку;
- Как задавать "срок жизни" кук;
- Каким образом производится удаление кук.
Урок 50. Работа с сессиями
- Что такое сессия;
- Какова область применения сессий в веб-разработке;
- Где может храниться идентификатор сессии;
- Как запустить механизм сессий;
- Как получить доступ к данным, хранящимся в сессии;
- Как уничтожить данные в сессии.
Урок 51. Авторизация на сайте
- Как создать простую систему авторизации пользователей на сайте;
- Как создать закрытые страницы на сайте, доступные только для авторизованных пользователей;
- Какой механизм лежит в основе "узнавания" пользователя при его повторном визите на сайт;
- Какое значение передается из отмеченного чекбокса.
Урок 52. Операторы include и require
- Для чего используются операторы include и require;
- В чем отличия данных конструкций;
- Какие разновидности этих конструкций существуют;
- Когда есть смысл использовать эти разновидности.
Урок 53. Альтернативный синтаксис управляющих структур
- Какие существуют альтернативные формы записи для управляющих структур;
- Для каких структр есть альтернативный синтаксис;
- В чем преимущества использования альтернативного синтаксиса;
- Почему наиболее удобно использовать альтернативный синтаксис при работе с циклами.
Урок 54. Константы и переменные переменных
- В чем смысл констант и для чего удобно их применять;
- Как объявить константу в PHP;
- В чем смысл переменных переменных;
- Как можно динамически менять имена переменных с помощью переменных переменных.
Урок 55. Использование HEREDOC-синтаксиса
- Каков смысл HEREDOC-синтаксиса;
- Когда удобно его использование;
- Какие важные особенности его работы нужно учитывать.
Урок 56. Функция phpinfo и работа с ini-файлами
- Для чего нужна функция phpinfo;
- Какую информацию можно получить с ее помощью;
- Как можно создавать свои собственные конфигурационные файлы и использовать их;
- Как можно использовать в своем приложении несколько языков для локализации интерфейса.
Урок 57. Функция date - вывод даты и времени
- Как функционирует функция date;
- Какие коды форматирования можно использовать при выводе даты;
- Как можно использовать русскоязычные названия дней недели и месяцев при форматировании даты.
Урок 58. Создание функции транслитерации строк
- Что такое транслитерация строк;
- Когда транслитерация символов может быть полезна;
- Какая функция PHP поможет нам написать функцию транслитерации.
Урок 59. Отправка почты. Часть 1
- Какие файлы нам понадобятся для реализации функции отправки почты;
- Куда отправляются письма при работе на локальном компьютере;
- Изучаем внешние моменты функционирования уже готового скрипта отправки почты.
Урок 60. Отправка почты. Часть 2
- Какова логика работы скрипта формы обратной связи;
- Почему удобно вынести настройки и часть обработок данных в отдельный конфигурационный файл;
- Какие функции мы будем использовать для очистки вводимых пользователем данных;
- Как можно передать функции mail дополнительные параметры при отправке письма (передача заголовков);
- Как произвести переадресацию человека после отправки письма.