PHP (сокращение от PHP: Hypertext Preprocessor) – это скриптовый язык программирования, который используется для разработки веб-приложений и динамических веб-сайтов. PHP широко распространен и поддерживается большим количеством хостинг-провайдеров. Он обладает простым и понятным синтаксисом, что делает его доступным для новичков в программировании. PHP позволяет встраивать свой код в HTML-страницы и взаимодействовать с базами данных, работать с формами, обрабатывать файлы и многое другое. Он предоставляет широкий выбор встроенных функций и расширений, что позволяет разработчикам быстро и эффективно создавать веб-приложения.
В области веб-программирования, в частности, серверной части, PHP — один из популярных сценарных языков (наряду с JSP, Perl и языками, используемыми в ASP.NET).
Популярность в области построения веб-сайтов определяется наличием большого набора встроенных средств и дополнительных модулей для разработки веб-приложений. Основные из них:
- Автоматическое извлечение POST- и GET-параметров, а также переменных окружения веб-сервера в предопределённые массивы;
- Взаимодействие с большим количеством различных систем управления базами данных через дополнительные модули (MySQL, MySQLi, SQLite, PostgreSQL, Oracle Database (OCI8), Microsoft SQL Server, Sybase, ODBC, mSQL, IBM DB2, Cloudscape и Apache Derby, Informix, Ovrimos SQL, Lotus Notes, DB++, DBM, dBase, DBX, FrontBase, FilePro, Ingres II, SESAM, Firebird и InterBase, Paradox File Access, MaxDB, интерфейс PDO, Redis);
- Автоматизированная отправка HTTP-заголовков;
- Работа с HTTP-авторизацией;
- Работа с cookies и сессиями;
- Работа с локальными и удалёнными файлами, сокетами;
- Обработка файлов, загружаемых на сервер;
- Регулярные выражения;
- Работа с XForms.
- Поддержка большинства современных веб-серверов, включая ngnix, SharePoint и Microsoft Internet Information Server
- Создание и работа с API
- Создание приложение с графическим интерфейсом пользователя при использовании фреймворка Qt Designer
- Создание консольных приложений
По состоянию на 2022 год используется сотнями тысяч разработчиков; согласно рейтингу корпорации TIOBE, базирующемуся на данных поисковых систем, в декабре 2022 года PHP находился на 10 месте по популярности среди языков программирования.
Входит в LAMP — распространённый набор ПО для создания и хостинга веб-сайтов (Linux, Apache, MySQL, PHP), а также LEMP — не менее распространённый набор ПО (Linux, Nginx, MySQL, PHP).
Среди сайтов, использующих PHP — Facebook, Wikipedia, Baidu.
PHP-скрипты обычно обрабатываются интерпретатором в порядке, обеспечивающем кроссплатформенность разработанного приложения:
- лексический анализ исходного кода и генерация лексем,
- синтаксический анализ полученных лексем,
- генерация опкода для виртуальной машины (разновидность байт-кода),
- оптимизация (например DCE),
- выполнение опкода интерпретатором (без создания исполняемого файла), либо JIT-компиляция результата с последующим выполнением (для включения JIT требуется специальный флаг в настройках интерпретатора).
Раньше, для увеличения быстродействия приложений было возможно использование специального программного обеспечения, так называемых акселераторов. Принцип их работы заключается в кэшировании однажды сгенерированного байт-кода в памяти и/или на диске, таким образом, из процесса работы приложения исключаются этапы 1—3, что в общем случае ведёт к значительному ускорению работы. Начиная с версии 5.5 одна из разновидностей акселераторов, opcache, была встроена в ядро, поэтому сторонние решения больше не пользуются популярностью.
Важной особенностью является то, что разработчику нет необходимости заботиться о распределении и освобождении памяти. Ядро PHP реализует средства для автоматического управления памятью; вся выделенная память возвращается системе после завершения работы скрипта.