Глиф Учебники

PHP

Программирование · 10 уроков · 18 справок · итоговый тест

PHP — один из самых распространённых языков для сайтов. Курс с нуля по PHP 8: установка, переменные, массивы, функции, формы, файлы, сессии, база данных через PDO и классы.

PHP — язык программирования для сайтов. Код на PHP выполняется на сервере: он берёт данные из формы или базы данных, собирает из них страницу и отдаёт браузеру готовый HTML. Посетитель видит только результат, сам код с сервера не уходит.

На PHP написаны WordPress, Joomla, Drupal, MediaWiki (движок «Википедии»), «1С-Битрикс», фреймворки Laravel и Symfony. PHP есть почти на любом хостинге. На нём делают интернет-магазины, блоги, форумы, личные кабинеты, API для мобильных приложений и обработчики форм обратной связи.

Какие бывают версии

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

Курс написан для PHP 8.1 и новее. В PHP 8 язык заметно изменился: появились match, именованные аргументы, новые правила сравнения строк с числами через ==, другие тексты ошибок. Учебники по PHP 5 и 7 местами устарели — проверяйте год издания. Если на хостинге стоит PHP 7, переключите версию в панели управления: старые версии давно не получают исправлений безопасности. Для нового проекта берите самую свежую поддерживаемую версию.

Что нужно для начала

Для уроков о базе данных пригодится знакомство с SQL — тема SQL, но первые шаги понятны и без неё.

Как пройти курс

Уроки идут по порядку. Первые пять — сам язык: переменные, условия, циклы, массивы и функции; программы из них запускаются в терминале и сразу показывают результат. Дальше — сайт: формы, файлы, сессии, база данных через PDO и классы. Набирайте примеры сами и меняйте их: так язык запоминается быстрее, чем при чтении.

После каждого урока — несколько вопросов для проверки, в конце — итоговый тест. В справочнике — короткие ответы на частые вопросы и ошибки: «Undefined variable», «headers already sent», как сделать редирект, загрузить файл на сервер, хешировать пароль.

Безопасности в курсе уделено внимание с первого урока о формах: всё, что пришло от посетителя, выводится через htmlspecialchars, а в базу попадает только через подготовленные запросы. Привыкайте к этому сразу — так пишут код на любом серьёзном сайте.

Курс с нуля

  1. 1.Что такое PHP и как его запуститьКак PHP собирает страницы сайта, как установить его в Windows и Ubuntu, запустить первую программу в терминале и открыть страницу через встроенный сервер.
  2. 2.Переменные, типы и строкиКак создать переменную в PHP, какие бывают типы данных, как выводить текст через echo, склеивать строки и вставлять переменные в текст.
  3. 3.Условия и циклыКак в PHP выбирать действие по условию — if, else, match, switch — и повторять код циклами while, for и do-while; break, continue и частые ошибки.
  4. 4.Массивы и foreachСписки и ассоциативные массивы в PHP: как создать, добавить и удалить элемент, обойти массив циклом foreach, отсортировать и найти значение.
  5. 5.ФункцииКак написать свою функцию в PHP: параметры и значения по умолчанию, return, типы аргументов и strict_types, область видимости, именованные аргументы и стрелочные функции.
  6. 6.Формы: $_GET, $_POST и htmlspecialcharsКак PHP получает данные из HTML-формы, чем GET отличается от POST, как проверить введённое и безопасно вывести его на страницу с htmlspecialchars.
  7. 7.Файлы и подключение: include и requireКак собрать сайт из частей через require и include, зачем нужен __DIR__, как читать и записывать файлы в PHP и почему нельзя подключать файл по имени из адреса.
  8. 8.Сессии и кукиКак сайт на PHP запоминает посетителя между страницами: cookie через setcookie, сессии через session_start и $_SESSION, простой вход по паролю и выход.
  9. 9.База данных через PDOКак подключиться из PHP к SQLite и MySQL через PDO, добавлять и читать записи подготовленными запросами и почему они защищают от SQL-инъекций.
  10. 10.ООП: классы и объектыКлассы и объекты в PHP 8: свойства, методы, конструктор, $this, public и private, readonly, наследование, интерфейсы, исключения и перечисления enum.

Начать с первого урока

Итоговый тест — 20 вопросов по всему курсу, ответы проверяются сразу.

Справочник

Официальная документация