Ваша первая PHP-страница
Рад вам сообщить, что самое трудное у вас позади. Установка программы - это всегда сложный процесс, так как ни одна система не похожа на другую, и в каждом случае могут возникнуть особенные проблемы, с которыми никогда никто не сталкивался. Во всяком случае ваша база данных уже установлена и запущена, PHP-движок откомпилирован, установлен и связан с Web-сервером, который уже понимает, что ему нужно делать с документами, имеющими расширение .htm3.
Окунемся же с головой в написание нашей первой PHP-страницы. Создайте текстовый файл под именем
test.htm3 и напишите в нем следующее:
<html>
<body>
<?php
$myvar = "Hello, World";
echo $myvar;
?>
</body>
</html>
Теперь откройте броузер и наберите в нем URL созданной страницы, например: http://stage/test.htm3. На экране в броузере вы должны увидеть следующее:
Hello, World
Если вместо этого вы видите сообщения об ошибках, обратитесь в первым главам данной книги, а, если потребуется, то и к документации, и проверьте, все ли вы правильно сделали.
Открыв исходный текст страницы вы увидите в ней следующее:
<html>
<body>
Hello, World
</body>
</html>
Это произошло потому, что PHP-движок на сервере просмотрел страницу, нашел в ней PHP-код, обработал его и выдал результат, который Web-сервером был отправлен в ваш броузер.
Поздравляем, вы написали первую в своей жизни PHP-страницу! Это уже не статическая HTML-страница с фиксированным текстом. Это уже настоящая программа, которая в зависимости от поданных в нее данных может выдавать различные результаты. А эта возможность целиком меняет всю философию публикации документов в Интернете, превращая их из статических в динамические, меняющиеся в зависимости от действий пользователя. В нашей первой странице-программе эти возможности конечно не так уж и сильно видны, ведь единственное, что она делает - это выводит текст, который мы быстрее и проще написали бы руками. Тем не менее уже через несколько страниц вы поймете насколько гибкий и мощный инструмент находится у вас в руках. А пока, рассмотрим подробнее нашу первую PHP-страницу.
Первое, на что надо обратить внимание в вышеприведенном коде, это ограничители. Найдите строку, которая начинается с <?php. Для PHP-движка этот код означаетначало блока команд, которые надо обработать и выполнить. Заканчивается блок ограничителем ?>. Иными словами символы <?php и ?> выполняют роль скобок. Все, что находится вне их, PHP-движок пропускает и отправляет в Web без всякой обработки, выполняя лишь только то, что находится внутри этих "скобок". Мощь PHP заключается в том, что PHP-код можно вставлять в любое - я подчеркиваю - в любое место HTML-страницы. Несколько позже мы рассмотрим
некоторые из весьма интересных приемов, а сейчас давайте опустим подробности. Вместо скобок <?php … ?>
можно использовать и сокращенную нотацию <? … ?>.
Некоторым программистам, которые работают также с ASP, удобнее писать скобки используя комбинацию <%… %>. PHP можно настроить на использование и таких скобок, если вам лень перестраиваться.
Возможен еще один из вариантов скобок показан ниже:
<script LANGUAGE="PHP">
инструкции
<script>
Еще одна деталь, на которую вы обратите внимание, - это точка с запятой в конце каждой строки кода. Это так называемые "разделители", которые служат для отделения одного набора команд от другого. Вообще-то весь PHP-код можно писать в одной строке, разделяя команды точкой с запятой. Но читать такой код будет неудобно, поэтому в наших примерах после каждой точки с запятой мы ставили перевод строки, а также еще один перевод строки, чтобы яснее выделить группы команд. Не забывайте про точку с запятой в конце строки, это наиболее частая ошибка у начинающих программистов.
Наконец, вы заметили, что перед словом myvar стоит символ $ (доллар). Этот символ сообщает PHP, что перед ним переменная. Мы присвоили (используя символ "=") строку "Hello, World" переменной $myvar. Переменные помимо строк могут содержать числа и массивы. В любом случае любая переменная всегда обозначается символом $.
Истинная сила языка PHP содержится в его функциях. В теории, функция - это блок команд, который
выполняет какую-то операцию. Если скомпилировать PHP со всеми имеющимися для него дополнениями, вы получите доступ к более чем 700 функциям. Так что, свои собственные функции вам придется писать разве что в исключительном случае.
Каждая функция имеет свое название и синтаксис. В первом нашем примере была использована функция echo, которая, как вы догадались, выводит строку, заключенную в кавычки, или переменную, которая идет следом.
Давайте еще раз внимательно рассмотрим исходную PHP-страницу. В принципе, она ни чем не отличается от обычной HTML-страницы. Только вместо расширения .html (или .htm) мы ей присвоили расширение .htm3. Для Web-сервера это расширение послужило сигналом, что данную страницу перед отправкой надо пропустить через PHP-движок. Строки <html><body> …. </body></html> будут проигнорированы PHP-движком. Он обратит внимание только на то, что написано внутри скобок <?php … ?>. В результате мы получим то, что изображено на рис. 2. В принципе, всю HTML-страницу мы могли бы сгенерировать с помощью PHP-команд,
например:
<?php
echo "<html>";
echo "<body>";
$myvar = "Hello World";
echo $myvar;
echo "</body>";
echo "</html>";
?>
Результат был бы тот же. Но с точки зрения программирования вообще, этот код - некачественный. Ведь PHP-движку придется обработать уже шесть строчек кода вместо прежних двух. Зачем утруждать PHP-движок выводом тегов <html>, <body>, </body>, </html>, если они и так выводятся в странице? При написании кода никогда не забывайте о производительности. Всегда старайтесь улучшить или изменить код так, чтобы у PHP-движка уходило как можно меньше времени на его обработку. Некоторые советы по оптимизации кода мы приведем несколько позднее.
Александр Качанов (kachanov@ogs.gomel.by)
Вадим Ткаченко (vvtk@stealthcomp.com) (http://web.stealthcomp.com)
Андрей Головин (mine@convex.ru) (http://exper.ural.ru)