Что такое РНР

Что такое РНР ?



В первой статье я кратко расскажу, что же представляет из себя РНР как язык и укажу на основные преимущества и недостатки его перед другими языками программирования. Идея РНР родилась в голове некого Расмуса Ледорфома(Rasmus Lerdorf). Как предполагается, где-то в конце 1994 года. Не так давно между прочим, и именно по этой причине - по причине молодости РНР, так мало есть ресурсов на его тему. Кстати, полная расшифровка РНР звучит так - Personal Home Page Tools. На великом и могучем это звучит примерно так - персональные инструменты для домашней странички. Ну примерно так. Так вот, в начале 1995 вышла коммерческая версия, которая была гораздо шире и функциональней, и именно ей было суждено завоевать признание тысяч (в те еще времена) web - мастеров. В 1998 году появился РНР3 - тот же язык, но гораздо более усовершенствованный и переписанный заново уже другими людьми. Он стал еще более популярным во всем мире. Но довольно истории.

Так что же это за зверь такой - РНР, и с чем его прикажете подавать? PHP Версии 3.0 - язык написания сценариев, внедренный в HTML. Многое из синтаксиса заимствовано из C, Java и Perl (это тоже языки программирования), с добавлением специфичных для PHP возможностей. Задача языка состоит в том, чтобы дать возможность Web-разработчикам легко и быстро создавать динамично изменяемые html-страницы. Уж что что, а это он делает великолепно! Это и есть основное преимущество РНР - его код внедряется прямо в HTML, причем никаких ограничений не существует. Единственное условие - не забывать открывать и закрывать теги, которыми ограничивается код РНР.

Что-бы сервер узнал, что в коде страницы кроме стандартного HTML есть код РНР, надо сказать ему об этом. Сделать это просто - достаточно в нужном файле изменить расширение со стандартных *.htm или *.html на *.phtml, *.php3 или *.php Желательно первый вариант. Хотя все эти вещи зависят от администратора сервера, где расположена Ваша страничка или Ваш сайт. Кстати, по умолчанию я подразумеваю, что у Вас уже есть сайт, или по крайней мере Вы представляете, как его сделать. И еще. Иногда можно услышать мнение, что РНР совсем не нужен, ведь есть SSI. Отвечаю - РНР может делать тоже, что и SSI с такой же легкостью, но плюс к этому он может еще гораздо больше! Вот Вам и еще один плюс. Если Вы еще не определились, надо ли будет в какой то конкретный файл добавлять код РНР, смело ставьте расширение *.phtml. Дело в том, что весь код HTML интерпретатор РНР просто передаст браузеру как есть без ограничений. Из этого следует первое правило, которое Вам надо будет усвоить. Не перегружайте интерпретатор. Если есть выбор, пользуйтесь стандартным HTML-ом. Это не принципиально, но рекомендуется как признак профессионализма.

Еще один плюс РНР - это удивительная похожесть его синтаксиса с языками С, С++, Java и т.д. Точнее будет сказать, что РНР впитал все самое лучшее из этих языков и максимально избавился от их недостатков. Нет никакой необходимости выделять память, следить за типами переменных (в обычных условиях), определять переменные и т.д. Все улучшения коснулись уже 3 версии, но есть и недостатки. Один из основных - отсутствие возможности условных и безусловных переходов в скрипте. Это накладывает ограничения на большие скрипты. А точнее - ограничений нет, просто очень большие скрипты становится писать уже сложно. Впрочем, РНР разрабатывался именно как небольшие включения в HTML, и в этом качестве ему нет равных. А если учитывать еще и тот факт, что РНР удивительно легко интегрируется со всеми основными базами данных и позволяет делать много удивительных вещей. Например - прайсы с возможностью поиска информации. На CGI аналогичный скрипт получается много больше чем на РНР.