Как работает PHP

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

Начнём с того, что программа, написанная на языке PHP, во время своей работы представляет из себя не то стандартное окошко, которое мы привыкли видеть. В абсолютном большинстве случаев эта программа работает на сервере «невидимо». То есть мы не можем управлять ею во время выполнения, но на самом деле нам это и не нужно :)

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

PHP не работает сам по себе. Для работы с пользователем он должен быть настроен в связке с веб-сервером, например, Nginx или Apache. Если по-простому, то пользователь отправляет запрос к веб-серверу по протоколу HTTP. Веб-сервер определяет, к какому типу файла было совершено обращение, и, если это файл с расширением .php, то веб-сервер передаёт запрос на обработку интерпретатором языка PHP, скрипт считывается, преобразуется в байт-код, выполняется и возвращает ответ веб-серверу. Веб-сервер передаёт сформированный результат пользователю. Этот результат, как правило, представляет собой динамически сгенерированную HTML-страничку.

Этот процесс можно значительно ускорить, подключив расширение-акселератор. Оно занимается тем, что кэширует получившийся байт-код, и пока файл остаётся неизменным сразу начинается его выполнение. Начиная с версии PHP 5.6 акселератор OPcache включён в дистрибутив по умолчанию.

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

Наверное, Вы уже успели подумать о том, что для того чтобы запустить программу на PHP, Вам придётся повозиться с настройкой, ведь нужно связать его с веб-сервером. К счастью, есть готовые решения, позволяющие запустить веб-сервер с PHP за несколько минут. А современные хостинги позволяют выкладывать и запускать проекты на PHP, вообще не задумываясь, как там всё устроено. И это хорошо, ведь Вы — программист, а не системный администратор. Прошу Вас это принять, это позволит расти как программисту гораздо быстрее. Разумеется, со временем Вам придётся вникнуть в эту область, но прошу Вас не делать этого сейчас — посвятите себя программированию.

Готовое решение в качестве сервера, которое я всем советую использовать, называется OpenServer. О том, как его установить и запустить, мы поговорим в следующем уроке.

loader
Домашнее задание

Ответьте, в чём отличия программ на языке PHP от обычных "оконных" программ.

Комментарии
Этот урок набрал набрал достаточно большое количество комментариев и дальнейшее его комментирование отключено. Если вы хотели убедиться в правильности выполнения ДЗ или у вас возник вопрос по уроку, посмотрите ранее добавленные комментарии, кликнув по кнопке ниже. Скорее всего вы найдете там то, что искали. Если это не помогло - задайте вопрос в чате в телеграме - https://t.me/php_zone
Логические задачи с собеседований