Бурное развитие Интернета и новых способов общения между людьми, World Wide Web (WWW) как одно из главных его явлений, объединило людей со всего мира. Ежедневно открываются тысячи новых сайтов, а посетителям предлагаются новые виды услуг. С развитием Сети воплощение новых идей становилось сложнее с каждым днем. Лавинное развитие рынка стало причиной огромного спроса на новые технологии и разработчиков, владеющих ими.
История РНР (Personal Home Page, с 1997 года - РНР Hypertext Processor) начинается с 1995 года. Именно тогда программист Расмус Лердорф (Rasmus Lerdorf) написал сценарий Perl/CGI для подсчета количества посетителей сайта, прочитавших его онлайновое резюме. Этот сценарий и стал причиной шквального потока сообщений с вопросами к автору.
Успех проекта стал причиной написания расширений РНР. Позже независимые программисты со всего мира занялись совершенствованием технологии. Не вдаваясь в детальное рассмотрение истории, отмечу лишь то, что сейчас мы имеем Open Source проект, который считается самой перспективной технологией на ближайшее время.
Что же такое РНР? С технической точки зрения РНР это работающий на стороне сервера встроенный язык сценариев Web. Что он может? Перечислить? Нет, места не хватит. А если я скажу что ВСЕ, вы поверите? Придется.
Так чем же РНР так нравится все большему и большему количеству разработчиков? Возможно своей простотой, надежностью, понятностью. А может интерпретацией, возможностями, поддержкой...
Одним из главных достоинств кода на РНР является тот факт, что он может быть расположен прямо в HTML-коде! Код HTML и РНР можно чередовать по мере необходимости. Маленький примерчик:
<html>
<title><?php print "PHP тут"; ?></title>
<body>
<?php print "<h3>Интеграция PHP в HTML код</h3>"; ?>
<h4>А тут уже чистый HTML код</h4>
<?php
print "<h3>Еще разок
</h3>";
print "<h3>Многострочный PHP код может спокойно чередоваться с HTML
</h3>";
?>
</body>
</html>
Не смотря на то, что мы еще даже не рассмотрели синтаксиса PHP кода, я уверен, что многие из читателей поняли пример и без пояснений. А все потому, что разработчики взяли все самое лучшее из С, C++ Perl, Java, и многих других языков. Так что если вы знакомы с С или Java, то понять PHP вам не составит никакого труда.
Так что же делает данный код? Все просто: команда print, можно сказать вставляет в файл, в то место где она находится, текст, который заключен в кавычки "", а <?php и ?> (экранирующие последовательности) выделяют PHP код из HTML. Команды, функции и прочее как обычно отделяются друг от друга точкой с запятой ; , а вот переход на новую строчку, количество пробелов и табуляций (в общем - форматирование) выполняется как вам угодно.
Обратите внимание на то, что нам не потребовалось никакой инициализации, никакого включения библиотек и модулей. Вместе с тем мы получили полностью работоспособную программу на PHP. Кроме того, в PHP команде print мы без проблем использовали HTML теги.
Все, хватит истории, описания преимуществ и примеров. Переходим непосредственно к изучению PHP. Да, и если вы захотите использовать PHP прямо на своем компе, прежде придется установить сам PHP и веб-сервер. В роли веб-сервера советую не раз описанный сервер Apache (
Ссылка скрыта от гостей
Зарегистрироваться или
Войти ). За PHP отправляйтесь... конечно, на официальный сайт (
Ссылка скрыта от гостей
Зарегистрироваться или
Войти). Установка данных продуктов довольно хлопотное дело, но описывать его в своих статьях я не буду - очень много нюансов, так что если у кого что не выйдет - пишите мне, помогу. Ну, а самые ленивые могут воспользоваться любым веб-сервером из интернета (даже халявные хостеры уже предоставляют PHP). Эдинственый недостаток - исполнить код можно будет только в он-лайне.
Переход в РНР.
Итак, раз код PHP можно встраивать прямо в HTML, то необходимо как-то дать понять лексическому анализатору, где PHP код, а где другие элементы документа. Из примера мы уже узнали о так называемых экранирующих последовательностях. Они служат именно для идентификации PHP кода. Сам процесс называется переходом в РНР (escaping to РНР). Существуют четыре варианта оформления экранирующих последовательностей:
- стандартные теги;
- короткие теги;
- теги script;
- теги в стиле ASP;
Чаще всего программисты используют стандартные теги:
<?php
print "PHP код";
?>
Как вы видите, за открывающим тегом <? следует аббревиатура php. Это однозначно определяет тип дальнейших инструкций - весь текст до закрывающего тега ?> (php писать уже не нужно) интерпретируется как код РНР. Очень удобно при использовании в одном документе нескольких технологий, которые позволяют встраивать свой код в HTML, например: JavaScript, серверные включения и РНР.
Короткие теги обеспечивают наиболее компактную запись:
<?
print "PHP код";
?>
Но я все же рекомендую использовать стандартные теги. По умолчанию короткие теги отключены - могут возникнуть лишние проблемы при переносе кода на другой сервер. Кроме того, вам самим будет приятнее читать стандартные теги.
Теги script применяются крайне редко. Как правило, они используются в ситуациях, когда HTML редакторы ошибочно принимают код РНР за код HTML. Теги script имеют следующий вид:
<script language="php">
<?php
print "PHP код";
?>
</script>
Как видите конструкция не из самых удобных.
Теги в стиле ASP (Active Server Page) похожи на короткие теги, описанные выше, единственное отличие в синтаксисе - вместо вопросительного знака используется знак процента:
<%
print "PHP код";
%>
У таких тегов есть одна особенность, позволяющая создавать более компактные записи - вместо команды print можно писать знак равенства (=) и переменную за ним. В результате он будет работать как команда print:
<%
=$name;
%>
Отмечу лишь что $name - имя переменной. Сами переменные мы рассмотрим в следующей статье. В PHP это очень приятная и вкусная тема.
Вот мы и рассмотрели экранирующие последовательности - такие себе Begin End в Паскале ?. Что дальше? Конечно...
Комментарии.
Использование комментариев при составлении программ крайне желательно. Они позволят вам быстро вспомнить, что же тут для чего (особенно непонятные названия переменных и функций - отдельный разговор). Ну а если вы решите поделиться, и выложить свой код на общенародное использование, без комментариев не обойтись - у каждого свой стиль программирования (прямо как почерк ?) и без комментариев ваши каракули никто не поймет. Кроме того, комментарии могут помочь при отладке - вместо удаления частей кода, которые в последствии могут пригодиться, их можно просто закомментировать.
Как и в большинстве современных языков программирования, в PHP есть два типа комментариев: однострочные и многострочные. Однострочные комментарии, как правило, используются для коротких пояснений к одной или нескольким строчкам кода. При оформлении однострочных комментариев в PHP используется два стиля двойная "косая черта" (//) или знак "нумер" (#):
<?php
// Комментарий
print "PHP код";
# Комментарий
?>
Два стиля функционально ничем не отличаются и комментируют все символы после себя до конца строки, т.е. можно сделать так:
<?php
print "PHP код"; // Комментарий к коду
?>
Но не так:
<?php
// Комментируется сам код print "PHP код";
?>
Разумеется, с однострочных комментариев можно создавать искусственные многострочные:
<?php
// Когда комментарий большой
// и не помещается в одну строку
// его можно продлить
print "PHP код";
?>
Многострочные комментарии применяются для описания программ, функций и особо сложных частей кода. Синтаксис как в Си: /* - начало */ - конец комментария. Т.е. все что заключено между /* и */ является комментарием:
<?php
/* Когда комментарий большой
и не помещается в одну строку
его можно продлить
а можно использовать специально
предназначеный для этого
многострочный комментарий */
print "PHP код";
?>
Для первого урока хватит. В следующей статье я расскажу вам о переменных и их типах. До скорых встреч!