Выберите удобное для вас число,
запишитесь на курс, заполнив простую форму
Язык программирования, история которого начинается с середины 90х годов, исходно ориентированный на разработку веб-сайтов и обработку данных веб-форм, но возможности его применения этим не ограничены.
Быстро набрал популярность, и, по некоторым данным, к концу 90х годов до 90% всех вебсайтов в мире было разработано или переписано на PHP.
Аббревиатура "PHP" исходно расшифровывалась как "Professional Home Page", или даже "Pretty Home Page".
В разработке разных версий PHP и библиотек под него принимает участие огромное количество людей по всей планете, а для разработчиков серверных скриптов для вебсайтов PHP часто рекомендуют как основной язык, с чем и связано огромное количество вакансий для разработчиков на PHP (по крайней мере, на рынке стран СНГ).
Введение
Необходимость в "серверных" языках, отличие от "языков на стороне клиента"
История и место PHP среди других языков, область применения
Взаимодействие клиента и сервера, понятие CGI, FastCGI, модуля PHP
Интеграция HTML и PHP
Что такое "веб-сервер"? Самые знаменитые веб-сервера.
Что еще нужно для написания сайта? Волшебное слово LAMP.
Установка Denwer, состав Denwer
Установка Apache, связка Apache и PHP
Запуск PHP-скрипта, phpinfo()
Основы использования файла настроек веб-сервера httpd.conf (директивы DocumentRoot, DirectoryIndex, AddDefaultCharset, VirtualHost и др.)
Основы использования файла настроек PHP php.ini (short_open_tag, output_buffering, disable_functions, error_reporting и др.), использование ini_set()
Синтаксис PHP
Теги полные, короткие, ASP-подобные и др.
Комментарии
Разделение команд
Отладка ошибок
Вставка скриптов, include() и require()
Прекращение работы скрипта exit()
Переменные и константы
Объявление переменной
Объявление константы
Полезные функции работы с переменными: isset(), isempty(), unset() и др.
Переменные, передаваемые с запросом. Понятие о методах GET и POST.
Типы данных, приведение типов
Операторы
Присваивания
Арифметические
Комбинированные
Сравнения
Логические
Бинарные
Приоритет выполнения операторов
Условные операторы
Условный оператор if…else
Условный оператор switch
Троичный условный оператор
Практика: применение условных операторов и сравнение их возможностей
Циклы
Цикл for
Цикл while
Цикл foreach
Управляющие операторы break, continue, return
Практика: применение циклов
Функции
Синтаксис объявления функции
Передача аргументов в параметры функции
Область видимости и время жизни переменных
Возвращение значений из функции
Рекурсивные функции
Вложенные функции
Практика: создание "калькулятора", вычисляющего арифметические операции, а также степень, процент и пр.
Массивы
Понятие массива
Объявление и инициализация массивов
Обход массивов в цикле
Массивы, индексируемые строками (ассоциативные массивы)
Многомерные массивы
Функции сортировки массивов: sort(), rsort(), asort(), arsort(), shuffle() и др.
Функции работы с элементами массивов: array_push(), array_shift() , и др.
Практика: создание и использование массивов
Работа с web-формами
Принцип взаимодействия web-формы в браузере и PHP-скрипта
Написание корректной web-формы
GET и POST методы, $_GET[] и $_POST[] массивы
Обработка данных формы через if(isset())
Особенности элементов формы типов checkbox, radio, select и др.
Принятие файлов через массив $_FILES, сохранение файлов на сервере, особенности функции copy()
Практика: создание web-формы регистрации и формы авторизации
Обработка строк
Функции обработки строк
Регулярные выражения
Практика: разнообразные способы обработки строк, парсинг строк
Работа с датами
Функции дат и времени
Изменение часового пояса
Работа с текстовыми файлами
Открытие и закрытие файлов, понятие о манипуляторах
Чтение и запись файлов, определение существования файла и его размера
Перемещение по файлам
Копирование, удаление и переименование файлов
Практика: создание гостевой книги, основанной на файлах и ведение лога посещаемости сайта с использованием $_SERVER[]
Cookie и сессии
Необходимость сохранения состояния
Происхождение понятия cookie
Типы cookie, ограничения на cookie
Как браузер обрабатывает cookie
Функция setcookie(), установка времени жизни cookie, удаление cookie
Многозначные cookie
Отличие сессий и cookie
Установка сессии, подключение к сессии, запись значений в $_SESSION[], удаление значений и завершение сессии
Практика: использование cookie для сохранения данных авторизации и блокировка "накрутки" счётчика посещения
Работа с каталогами
Создание и удаление каталогов
Чтение содержимого каталогов
Практика: создание загрузчика файлов пользователя в личный каталог и написание браузера файлов
Вызов внешних процедур
exec(), system() и пр.
Выполнение команд консоли операционной системы
Работа с электронной почтой
Функция mail()
Создание web-формы для обратной связи
Использование sendmail-заглушки в Denwer либо полноценного почтового сервера
Работа с базами данных
Зачем нужны базы данных? Сравнение с последовательным чтением-записью в текстовых файлах.
Какие базы данных существуют и "дружат" с PHP. Почему MySQL?
Взаимодействие сервера базы данных, веб-сервера и браузера
Установка MySQL-сервера.
Подключение к MySQL-серверу через phpMyAdmin и десктопных клиентов (HeidiSQL, mysql и т.д.)
Как данные хранятся на MySQL-сервере?
Создание учётных записей MySQL с разными привилегиями. Понятие о безопасности.
Создание баз и таблиц
Проектировка таблицы
Типы данных, ключевые поля, уникальность, автоинкремент и пр.
Внесение данных в таблицу, импорт из CSV, экспорт в SQL
Написание SQL-запросов: select, insert, update, delete, truncate, drop
функции PHP для работы с MySQL: mysql_connect(), mysql_select_db(), mysql_query(), mysql_result(), mysql_num_rows() и др.
Получение данных из таблицы, прохождение в цикле
Хранение и обработка BLOB-данных
Практика: создание таблицы произвольной тематики, вывод таблицы на экран браузера, редактирование таблицы через web-форму
Практика
Создание простого web-магазина с регистрацией, авторизацией, корзиной покупателя и системой управления содержимым (CMS)
Дополнительные темы
Основы объектно-ориентированного программирования
XML-парсинг
Подключение к LDAP-каталогу
Графический движок GD
Создание GUI-приложений
Работа с файлами формата xls, zip, pdf