PHP — признанный лидер среди Web-ориентированных языков скриптов
Язык PHP отличается простотой синтаксиса, хорошими средствами взаимодействия с базами данных, а также совместимостью с широким спектром компьютерных платформ

Разработчикам, которые желают разрабатывать динамические Web-приложения, содержащие различные скрипты, предоставлен сегодня достаточно большой выбор языков программирования. Правда, выбор этот зачастую ограничен поддержкой строго определенных платформ. Например, программисты IBM WebSphere работают в среде Java, а авторам кода, ориентированного на IIS, больше по душе языки JScript и VBScript, которые предлагает корпорация Microsoft. Но если при проектировании Web-сайта компания использует технологию Apache Software Foundation, то выбор языка для написания приложений Web практически ничем не ограничен. Наряду с Perl язык с открытым кодом PHP (его название первоначально было принято расшифровывать как Personal Home Page) превратился сегодня в любимый инструмент разработчиков, отдающих предпочтение технологиям Apache.

Язык PHP отличается простотой синтаксиса, хорошими средствами взаимодействия с базами данных, совместимостью с широким спектром платформ и огромным числом всевозможных расширений, предлагаемых его многочисленным поклонникам. PHP 4, кроме того, поддерживает многопоточные Web-серверы, обладает средствами буферизации вывода, механизмами оптимизации выполнения программ и имеет массу других дополнительных функций. В версии 4.0.6 устранены все обнаруженные ранее ошибки. Производительность программного обеспечения еще более возросла. Эта версия, как и все выпускавшиеся до нее, распространяется бесплатно и с открытым кодом.

Итак, разработчики PHP чаще всего выбирают Web-сервер Apache. Впрочем, поклонникам других Web-серверов для того, чтобы осуществить переход на PHP, также не надо прилагать никаких усилий. Этот язык является стандартным расширением коммерческих Web-серверов Netscape/iPlanet и Microsoft. При работе в среде Windows PHP 4 в полной мере использует преимущества серверной многопоточной архитектуры. Прекрасно понимая, что программисты, пишущие приложения в среде Windows, не очень часто предаются ностальгии по средствам разработки на языке Си, авторы PHP поставляют версию интерпретатора PHP для Windows в двоичной форме. Версии для платформ Unix, Linux и BSD распространяются в исходных текстах.

К достоинствам PHP следует отнести поддержку любых баз данных. СУБД с открытым кодом MySQL, которая довольно часто интегрируется с PHP, в своей двоичной форме включена даже в комплект поставки некоторых Windows-систем. Помимо MySQL, PHP непосредственно поддерживает Oracle, Sybase, Informix, Microsoft SQL Server, а также ряд других баз данных. Кроме того, доступ ко многим другим базам данных осуществляется через интерфейс ODBC.

На платформе Windows язык PHP может создавать и вызывать любой объект COM с помощью поддерживающего сценарии интерфейса IDispatch. Аналогичным образом, если среда Java установлена на сервере Windows или Unix/Linux/BSD, PHP предоставляет возможность создания и использования классов Java.

Синтаксис языка PHP представляет собой нечто среднее между Си и Perl. Люди, привыкшие программировать на Си/C++, Java, JavaScript или Perl, могут очень быстро адаптироваться к его особенностям. На мой взгляд, по простоте использования и соответственно быстроте написания кода у PHP практически нет равных. VBScript — пожалуй, единственный язык, который может оказаться для начинающих программистов проще в изучении. Но по своей универсальности и расширяемости ему очень далеко до PHP.

Огромная библиотека встроенных типов данных и функций PHP наверняка произведет на разработчиков сильное впечатление. Массивы могут быть как простыми, так и ассоциативными, и содержать списки элементов или пары связанных между собой ключей и значений. Цепочки символов — один из наиболее распространенных типов данных, а функции управления строками во многом похожи на аналогичные функции стандартной Си-библиотеки. PHP нельзя считать объектно-ориентированным языком, но тем не менее он поддерживает определяемые пользователем классы и простое наследование.

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

Языку PHP недостает также поддержки транзакций; SQL-транзакцией можно управлять, если весь вовлеченный в нее код транзакции находится на одной Web-странице. И хотя здесь имеются расширения XML-RPC и протокол SOAP, PHP не способен преобразовывать объекты в Web-службы так просто и элегантно, как это делает Microsoft .Net. Однако архитекторы и кодировщики продолжают работать над устранением этих ограничений, поэтому PHP вполне заслуживает внимания в качестве недорогой и эффективной альтернативы Active Server Pages и Java.