Пример 1. Встраивание PHP в документ
<html>
<head>
<title> Listing l </title>
</head>
<body>
<?php echo "Здравствуй! Это мой скрипт!"; ?>
</body>
</html>
Открывающий тег <html> показывает, что данный файл содержит HTML-страницу. Текст <title> Listing 1 </title> задает название документа, которое может быть любым, по желанию программиста. Они располагаются между тегами <head> </head>, которые содержат заголовок страницы.
Контейнер <body> охватывает все содержимое документа, которое должно быть представлено пользователю. Именно в этой части вставлен PHP-скрипт. Функция
echo "Здравствуй! Это мой скрипт!";
выведет в окно браузера фразу, заключенную между двойными кавычками. После выполнения скрипта получим страницу с надписью Здравствуй! Это мой скрипт!
Каждый оператор в РНР отделяется точкой с запятой. При отсутствии этого символа между операторами браузер выдаст сообщение об ошибке, указывающее номер строки, в которой она произошла.
Основное отличие PHP от CGI-скриптов, написанных на других языках, типа Perl или C++, - это то, что в CGI-программах вы сами пишете выводимый HTML-код, а используя РНР, встраиваете свою программу в готовую HTML-страницу при помощи открывающего и закрывающего тегов (см. пример 1 — <?php и ?>).
• Отличие РНР от JavaScript состоит в том, что PHP-скрипт выполняется на сервере, а клиенту передается результат работы, тогда как JavaScript-код полностью находится на клиентской машине и только там выполняется.
• Любители Internet Information Server найдут, что РНР очень похож на Active Server Pages (ASP), а энтузиасты Java скажут, что РНР похож на Java Server Pages (JSP). Все три языка позволяют размещать код, выполняемый на Web-сервере, внутри HTML-страниц.
• В РНР включена поддержка многих баз данных (БД), что делает написание Web-приложений с использованием БД весьма простым.
Недостатки РНР:
1) Основным недостатком РНР является то, что по своей идео-логии РНР 3 изначально был ориентирован на написание небо-льших скриптов. Однако этот недостаток ликвидирован в РНР 4 и выше.
2) РНР является псевдокомпилируемым языком и вследствие этого не может сравниться по скорости с компилируемым С. Однако при написании небольших программ, когда весь про-ект состоит из многих небольших страниц с кодом, вступают в силу накладные расходы на загрузку в память и вызов CGI-программы, написанной на С.
3) Не такая большая база готовых модулей, как, например, CPAN у Perl. С этим ничего нельзя поделать — это дело вре-мени. В РНР 4 разработчики предусмотрели специальный ре-позиторий, аналогичный CPAN, и очень скоро будет написано достаточное количество модулей для его наполнения.
Синтаксис и грамматика языка
Способы выхода из HTML и перехода в РНР
1. <? echo("простейший способ"); ?>
2. <?php echo("при работе с документами"); ?>
3. <script language="php">
echo ("некоторые редакторы (подобные
FrontPage) используют эти инструкции"); </script>;
4. <% echo("для совместности с визуальными средствами формирования страниц ASP- тегами"); %>
Только два из них (<?php...?> и <script language="php">...</script>) всегда доступны;
Как и многие другие языки программирования, PHP требует, чтобы программа была обрамлена специальными начальными и конечными последовательностями, т.е. тегами, обозначающими начало и окончание кода на PHP.
Разделение инструкций
Инструкции разделяются так же, как и в Cи – каждый оператор оканчивается символом "точка с запятой".
Закрывающий тег (?>) также подразумевает конец оператора, поэтому следующие варианты эквивалентны:
<?php echo "Это тестовая строка";?>
<?php echo "Это тестовая строка " ?>
Комментарии
PHP поддерживает комментарии 'C', 'C++' и оболочки Unix. Их в PHP существует три вида:
1. Однострочные (в конце строки)
- предваряется последовательностью из двух слэшей (//),
<?php
echo "Это тест"; // Это комментарий как в С++
?>
- предваряется символом хэш (# – решеткой),
Такие комментарии частенько можно применять внутри циклов или массивов.
Многострочный - начинается последовательностью слэш и звездочка (/*), оканчивается обратным порядком — звездочка и слэш (*/)
/* Это многострочный комментарий как в Си,
это ещё одна его строка */
// этот комментарий записывается в конце строки
Многострочными коментариями не рекомендуют злоупотреблять, так как в некоторых ситуациях это может вызвать ошибку в программе.
Примеры
Теперь мы готовы написать первую программу на PHP. Естественно, по традиции, это будет программа, выводящая в браузер текст "Здравствуй мир".
Поместите следующий код в какой-нибудь файл, например в example1.php:
<?php
print"Здравствуй мир";
?>
Если вы будете использовать короткие теги, то эту же программу можно будет написать короче, а именно:
<?="Здравствуй мир";?>
Теперь запустите РНР в браузере вызовите этот файл по адресу, например вот так: http://localhost/PHP/example1.php
В браузере будет выведена строка «Здравствуй мир», естественно без кавычек.
Существует и другой эквивалент команды (функции) print, а именно: echo();
Скобки не обязательны, но и print и echo функ-ции, поэтому принято в справочниках их обозначать со скобками. Следует еще раз напомнить, что абсо-лютное большинство однострочных команд в PHP должно заканчиваться точкой с запятой (;)
Теперь приведем пример, выводящий таблицу:
<?php
print "<table align=\"center\"><tr><td colspan=\"2\" align=\"center\">";
print "Заголовок таблицы</td></tr>";
print "<tr><td>Что-нибудь</td><td>Еще что-нибудь</td></tr></table>";
?>
Или по-другому:
<?php
print "<table align=\"center\"><tr><td colspan=\"2\" align=\"center\">
Заголовок таблицы</td></tr>
<tr><td>Что-нибудь</td><td>Еще что-нибудь</ td></tr></table>";
?>
Специальные символы
К специальным символам относятся:
$ — знак доллара – начинает имя переменной,
" — двойная кавычка – предназначена для написания данных строкового типа,
' — знак апострофа – предназначен также для написания данных строкового типа, при этом не позволяет интерполи-ровать переменные и константы в их значение, а выводит как имена,
знаки (операторы) арифметических действий (операций):
(+, -, *, /, % (деление по модулю, то есть вычисление остатка от деления)), операторы сравнения (= =, !=, >, <, >=, <=), логических операций (||, &&, !),
Переменные
Переменная – это временное хранилище различного типа данных. Временное, потому, что значение переменных можно изменять в процессе написания и выполнения программы.
В PHP имя любой переменной обязательно должно начинаться с символа доллара ($) и далее состоять только из букв латинского алфавита, цифр или знака подчеркивания, при этом после доллара сразу может идти только буква (нельзя давать имя переменной в кириллице или начинать с цифры или со знака подчеркивания). Например:
$alfa //Это правильно написанная переменная,
$alfa_romeo5_5 //И это правильно написана
$54beta_gamma //Это неправильное имя переменной
$345 // И это неправильное имя переменной
$alfa-romeo // И это неправильное имя переменной
Кроме того, регистр символов в именах переменных играет большую роль, то есть $Alfa_Romeo не тоже самое, что $alfa_romeo. В переменных вы можете хранить различного типа данные, это могут быть строки, отдельные символы, целые строки символов, числа, массивы, объекты или логические значения. Значение переменной можно в любой момент и в любом месте программы изменять. Фактически переменная – это основной инструмент PHP. Без использования переменных не обойтись.
Типы переменных
PHP поддерживает 8 простых типов.
Четыре скалярных типа:
• integer - целый (например 1000),
• boolean – логический (true, false; 1, 0),
• float - числа с плавающей точкой (3,14)
• string - строковый ("Крокодил"),
Два составных типа:
• array - массив
• object - объектная переменная (при объектно-ориентированном подходе),
И два специальных типа:
• resource - ресурс
• NULL.
Тип переменной обычно программистом не устанавливается;
он определяется РНР на этапе выполнения, в зависимости от контекста, в котором эта переменная используется.
Чтобы использовать переменную в своей программе, вы долж-ны присвоить ей какое-то значение, то есть инициализировать, причем, PHP не требует предварительного объявления перем-енных, то есть каждая переменная безошибочно появляется в программе с того самого момента, когда ей присвоено какое-то значение.
Присвоение значения осуществляется следующим выражением:
$variable="значение";
или
$variable="выражение";
или
$variable=$var;
Целые числа
integer это число из набора Z = {..., -2, -1, 0, 1, 2, ...}
Целые числа могут специфицироваться в десятичной, 16-ной или 8-ной записи с необязательным знаком (- или +).
Если вы используете 8-ную нотацию, первым символом числа должен быть 0 (нуль), для 16-ной нотации первыми символами числа будут 0x.
Примеры целых чисел:
$a = 1234; # 10-ное число
$a = -123; # отрицательное число
$a = 0123; # 8-ное число (экивалентно 10-ному 83)
$a = 0x1A; # 16-ное число (экивалентно 10-ному 26)