|
, при обработке
большого количества строк и т. д. Однако, заметьте, это единственный недостаток
PHP, который будет все меньше и меньше проявляться по мере выхода более мощных
процессоров, чтобы в конце концов вообще сойти на нет.
Пример PHP-программы
Традиционно, любая книга начинается с программы "Hello world!". Что ж, не буду
отходить от этих канонов и приведу сразу два примера такой программы. Вот
первый
из них:
Часть III. Основы языка PHP 110
echo "Hello world!";
?>
Запустим сценарий в браузере. Легко убедиться, что он действительно работает,
да к
тому же еще и безотказно.
Это замечание предназначено для тех, кто еще совершенно не знаком с син-
таксисом языка PHP. Итак, возможно, вы немного смущены словами "запустим
сценарий в браузере". Дело в том, что PHP-сценарий по своей природе не-
сколько отличается от обычных CGI-сценариев, которые мы рассматривали в
первой части этой книги. Но не торопитесь. Следующий пример поставит все
точки над "i".
Для тех, кто еще не сталкивался с синтаксисом PHP, более интересен пример
второй
программы. Вот как он выглядит:
Hello world!
Что — думаете, произошла ошибка и редактор вместо примера кода на PHP случайно
вставил в текст пример HTML-страницы? А вот и нет. Да-да, вы не ошиблись — тут
действительно нет вообще никаких операторов PHP, и содержимое файла с "про-
граммой" состоит целиком из статического текста.
Что же происходит? Выходит, обычный HTML-текст также правильно обрабатывает-
ся PHP? Да, это так. Но рассмотрим чуть более сложный пример (листинг 6.1).
Листинг 6.1. Простой сценарий на PHP
Здравствуйте!
// Вычисляем текущую дату в формате "день.месяц год"
$dat=date("d.m y");
// Вычисляем текущее время
$tm=date("h:i:s");
# Выводим их
echo "Текущая дата: $dat года \n";
echo "Текущее время: $tm \n";
# Выводим цифры
echo "А вот квадраты и кубы первых 5 натуральных чисел: \n";
for($i=1; $i<=5; $i++)
{ echo " $i в квадрате = ".($i*$i);
echo ", $i в кубе = ".($i*$i*$i)."\n";
Глава 6. Характеристика языка PHP 111
}
?>
Я убежден, что синтаксис любого языка программирования гораздо легче "почувст-
вовать" на примерах, нежели используя какие-то диаграммы и схемы. Я буду при-
держиваться этого принципа на протяжении всей книги. Что ж, приступим к разбору
программы.
Начало сценария, если бы не был уже затронут второй пример, может озадачить:
раз-
ве это сценарий? Откуда HTML-тэги и ? Вот тут-то и кроется главная
особенность (кстати, чрезвычайно удобная) языка PHP: PHP-скрипт может вообще не
отличаться от обычного HTML-документа, как мы это уже заметили ранее.
А помните, как мы раньше в примерах на Си писали кучу одинаковых printf 'ов для
того, чтобы выводить HTML-код страницы? На PHP это можно делать естественным
образом, без всяких операторов. Иными словами, все, что расположено в нашем
при-
мере до начала PHP-кода, отображается непосредственно, как будто при помощи не-
скольких вызовов printf() в Си.
Идем дальше. Вы, наверное, догадались, что сам код сценария начинается после
от-
крывающего тэга и заканчивается закрывающим ?>. Итак, между этими двумя
тэгами текст интерпретируется как программа, и в HTML-документ не попадает.
Если
же программе нужно что-то вывести, она должна воспользоваться оператором echo
(это не функция, а конструкция языка: ведь, в конце концов, если это функция,
то где
же скобки?). Мы подробно рассмотрим ее работу в дальнейшем. Итак, PHP устроен
так,
что любой текст, который расположен вне программных блоков, ограниченных и
?>,
выводится в браузер непосредственно, т. е. воспринимается, как вызов оператора
echo
(последняя аналогия очень точна, и мы остановимся на ней чуть позже).
Нетрудно догадаться, что часть строки после // является комментарием и на про-
грамму никак не влияет. Однострочные комментарии также можно предварять и сим-
волом # вместо //, как мы можем это увидеть в примере. Комментарии еще бывают
и такие:
/*
это комментарий
...и еще одна строка
*/
То есть, комментарии могут, как и в Си, быть однострочными и многострочными.
Однако в некоторых реализациях PHP многострочные комментарии почему-то всту-
пают в конфликт с "русскими" буквами, которые могут находиться между ними. А
именно, появляются бессмысленные сообщения о синтаксических ошибках, причем
совершенно не в том месте. Почему так происходит, неясно: видимо, ошибка в PHP.
Насчет комментариев и контроля ошибок мы еще поговорим, а пока вот вам совет:
никогда не пользуйтесь многострочными комме
|
|