Главная > Программирование > РНР: настольная книга программиста
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

1.2. Преимущества и недостатки РНР

Рассмотрим все особенности PHP и выясним, почему многие считают, что PHP — именно то, что нужно.

Преимущества РНР

• PHP — скрипт-язык, который непосредственно встраивается в HTML-код и выполняется сервером. Приведем пример, демонстрирующий саму работу и способ встраивания PHP-скрипта в документ.

Пример 1.1. Встраивание РНР в документ

<html>

<head>

<title>Listing 1.1</title> </head>

<body>

<?php echo "Hello! My script works good!"; ?>

</body>

</html>

Опишем каждую строку данного документа, чтобы у вас не возникало никаких вопросов. Открывающий тег <html> показывает браузеру, что данный файл содержит HTML-страницу. Весь документ заключен в контейнер HTML. Текст, помещенный вне этого документа, может игнорироваться браузером. <title>Listing 1.1</title> задает название документа, которое может быть любым, по желанию программиста. Эти теги располагаются между тегами <head> </head>, которые содержат информацию о текущем документе, такую как заголовок, ключевое слово и т. п. Браузеры не отображают информацию, помещенную в контейнер <head>, однако могут ее использовать для каких-либо иных целей. Контейнер <body> охватывает все содержимое документа, которое должно быть представлено пользователю. Именно в этой части вставлен PHP-скрипт. Функция echo "Hello! My script works good!"; выведет в окно браузера фразу, заключенную между двойными кавычками. После выполнения скрипта получим страницу с надписью (рис. 1.2).

Рис. 1.2. Результат выполнения программы


ВНИМАНИЕ

Каждый оператор в РНР отделяется точкой с запятой. Это очень важно, так как в противном случае браузер выдаст сообщение об ошибке, указывающее номер строки, в которой она произошла.


• Основное отличие РНР от CGI-скриптов, написанных надругих языках, типа Perl или С++, — этого, чтов CGI-программах вы сами пишете выводимый HTML-код, а используя РНР, встраиваете свою программу в готовую HTML-страницу при помощи открывающего и закрывающего тегов (см. пример 1.1— <?php и ?>).

• Отличие РНР от JavaScript состоите том, что PHP-скрипт выполняется на сервере, а клиенту передается результат работы, тогда как JavaScript-код полностью передается на клиентскую машину и только там выполняется.

• Любители Internet Information Server найдут, что РНР очень похож HaActive Server Pages (ASP), а энтузиасты Java скажут, что РНР похож на Java Server Pages (JSP). Все три языка позволяют размещать код, выполняемый на Wеb-сервере, внутри HTML-страниц.

• В РНР включена поддержка многих баз данных, что делает написание Web-приложений с использованием БД до невозможности простым.

Вот неполный перечень поддерживаемых БД:

Adabas D, InterBase, Solid, dBase, mSQL, Sybase, PostgreSQL, Empress, MySQL, Velocis, File Pro, Oracle, Unixdbm, Informix.


СОВЕТ

Приведенный список далеко не полный. Это говорит о том, что сам язык ориентирован на работу с базами данных. Он имеет достаточное количество функций для реализации поставленных задач. Поэтому, если у вас возникнет вопрос, что выбрать — Perl, PHP или С при реализации той или иной задачи, связанной с базами данных, лучший выбор — РНР.


• В РНР есть функции для работы с протоколами IМАР, SNMP, NNTP, РОР3 и даже HTTP, а также имеется возможность работать с сокетами (sockets) и общаться по другим протоколам.

Недостатки РНР 3

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

• Основным недостатком РНР 3, является то, что по своей идеологии РНР изначально был ориентирован на написание небольших скриптов. Несмотря на то что ядро несколько раз переписывалось, РНР 3 не пригоден для использования в сложных проектах — при исполнении больших скриптов производительность системы резко падает. Однако этот недостаток ликвидирован в РНР 4.

• РНР является псевдокомпилируемым языком и вследствие этого не может сравниться по скорости с компилируемым С. Однако при написании небольших

программ, когда весь проект состоит из многих небольших страниц с кодом, вступают в силу накладные расходы на загрузку в память и вызов мы, написанной на С.

• Не такая большая база готовых модулей, как, например, CPAN у Perl. С этим ничего нельзя поделать — это дело времени. В РНР 4 разработчики предусмотрели специальный репозиторий, аналогичный CPAN, и очень скоро будет написано достаточное количество модулей для его наполнения.

Заключение

В этой главе было подробно описано, почему РНР является наиболее перспективным языком и в скором времени займет лидирующую позицию среди подобных языков программирования. Когда посетитель обращается к вашей страничке, РНР обрабатывает встроенные в нее команды, выдает результат браузеру пользователя — точно так же, так это делает CGI-программа, написанная на С или Perl. Только в отличие от последней РНР имеет ряд преимуществ:

• создание скриптов РНР значительно проще, чем создание скриптов на других языках;

• для решения разных специфических задач не нужно писать и отлаживать многочисленные маленькие CGI-программы, что сводит к минимуму время доступа к вашим а также продолжительность разработки страниц и сайта вцелом.

Вместе с тем РНР обладает огромным набором функций и большой которые могут быть значительно расширены с помощью дополнительных внешних библиотек. Вы можете управлять доступом к вашим страницам, создавать и обрабатывать базы данных любой сложности, генерировать изображения или PDF-документы т. д.

<< Предыдущий параграф Следующий параграф >>
Оглавление