Казахстан, г. Алматы, ул. Шевченко 90, БЦ «Каратал», офис 53
Казахстан, г. Нур-Султан, ул. Иманова 19, БЦ Деловой Дом "Алма-Ата", офис 612

Даты проведения курса

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

город: Алматы
19.11.2020
-
21.11.2020 Подтвержден
записаться на курс
направление: WEB разработка кол-во дней: 5
кол-во часов: 40

Язык программирования, история которого начинается с середины 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