PHP умеет всё. Главное назначение PHP — создавать скрипты, которые обрабатываются на сервере; поэтому PHP умеет выполнять всё то, что выполняет любая другая CGI-программа, например, обрабатывать данные форм, генерировать динамические страницы или отсылать и принимать cookies. Но PHP умеет намного больше.
PHP применяют в трёх основных областях.
PHP работает на большей части операционных систем, включая Linux, многие модификации Unix (например, HP-UX, Solaris и OpenBSD), Microsoft Windows, macOS, RISC OS и многие другие. PHP также поддерживает бо́льшую часть современных веб-серверов наподобие Apache, IIS и многих других. Сюда входит любой веб-сервер, который умеет работать с двоичным PHP-файлом FastCGI-интерфейса, например, серверы Lighttpd и nginx. PHP работает либо как модуль, либо как CGI-процессор.
Таким образом, с PHP программист получает свободу выбора операционной системы и веб-сервера. Более того, у программиста появляется выбор между процедурным или объектно-ориентированным программированием (ООП), или сочетанием обеих парадигм.
Программирование на PHP не ограничивается выводом HTML-разметки. PHP также умеет выводить файлы разных типов, например, изображений или PDF-файлов, шифровать данные и отправлять электронную почту. Можно также легко выводить любой текст, например JSON- или XML-строки. PHP умеет автоматически генерировать эти файлы и сохранять их в файловой системе, а не выводить на печать, чтобы сформировать серверный кеш для динамического содержимого.
Одно из значительных преимуществ языка PHP — поддержка широкого круга баз данных. Написать веб-страницу с поддержкой базы данных невероятно просто. Можно использовать модуль конкретной базы данных (например, mysql) или модуль уровня абстракции наподобие PDO, или соединиться с базой данных с поддержкой стандарта открытого подключения к базе данных (ODBC) через модуль ODBC. Для других баз данных, например, CouchDB, можно использовать библиотеку cURL или сокеты.
PHP также поддерживает взаимодействие с другими сервисами через протоколы LDAP, IMAP, SNMP, NNTP, POP3, HTTP, COM (на платформах Windows) и многие другие. Кроме того, программист получает возможность работать с сетевыми сокетами напрямую. PHP поддерживает стандарт обмена сложными структурами данных WDDX практически между всеми языками веб-программирования. Обращая внимание на взаимодействие между разными языками, следует упомянуть о поддержке объектов языка Java и возможности использовать их как PHP-объекты.
PHP умеет обрабатывать текст, включая Perl-совместимые регулярные выражения (PCRE) и другие модули и инструменты для обработки и доступа к XML-документам. PHP стандартизирует XML-модули на прочной основе библиотеки libxml2, а также расширяет набор инструментов для обработки XML-документов за счёт добавления поддержки модулей SimpleXML, XMLReader и XMLWriter.
Другие интересные модули распределили как в алфавитном порядке, так и по категориям. Существуют также дополнительные PECL-модули, часть которых описывает это руководство, например, модуль » XDebug.
Как видно, этой страницы недостаточно, чтобы перечислить все возможности и преимущества языка PHP. Прочитайте разделы «Установка и настройка» и просмотрите главу «Справочник по функциям», которые дают дополнительные сведения о модулях, которые упоминает эта часть руководства.