Отправляет email-рассылки с помощью сервиса Sendsay

Программирование в Web

  Все выпуски  

Программирование в Web Выпуск 2 от 18/04/2006 Основы PHP - Урок-2


 
Программирование в Web

ОСНОВЫ PHP
 

 
Внимание!!!
Все материалы уроков, публикуемых в этом и во всех последующих выпусках рассылки «Программирование в Web», являются интеллектуальной собственностью авторов и ведущих рассылки. По всем вопросам размещения или публикации данных материалов на собственных ресурсах или где-либо еще, или иного использования, не связанного с личным ознакомлением и самостоятельным обучением, - обращайтесь на адрес автора. Любое использование этих материалов в коммерческих или иных целях, явно не разрешенное автором является незаконным.
 

 
У Р О К — 2
Здравствуйте уважаемые подписчики!

Продолжим изучение языка программирования сценариев Web-приложений. Сегодня мы познакомимся с общими понятиями, необходимыми для написания php-сценария.

ОБЩАЯ ЧАСТЬ
Идентификация программы как php-программы. Теги оборамления:

Как и многие другие языки программирования, PHP требует, чтобы программа была обрамлена специальными начальными и конечными последовательностями, эдакими тегами, обозначающими начало и окончание кода на php. Для PHP существует их четыре, почти равнозначных, варианта:


  1. Вариант первый, стандартные теги обрамления:
    • начальный — <?php
    • конечный — ?>

    • Этот вариант наиболее предпочтителен, так как будет гарантировано работать на хостинге с любыми настройками PHP. Договоримся, что я буду использовать в примерах именно их. Вам я также рекомендую использовать именно его. Так как остальные должны быть явно разрешены администратором хостинга в настройках интерпретатора, а это делается далеко не всегда.
  2. Вариант второй, короткие теги обрамления:
    • начальный — <?
    • конечный — ?>
  3. Вариант третий, теги обрамления в стиле asp:
    • начальный — <%
    • конечный — %>

    • Эти два варианта работают только если в настройках PHP на вашем хостинге включены соответствующие настройки, в универсальных сценариях, предназначенных для выполнения на любом хостинге, их употреблять не рекомендую, может оказаться, что соответствующие настройки отключены и тогда ваши сценарии просто не будут работать.
  4. Вариант четвертый, программные теги обрамления:
    • начальный — <SCRIPT LANGUAGE="php">
    • конечный — </SCRIPT>

    • Этот вариант часто тоже может являться универсальным и работать на любом хостинге.

Файлы, в которые вы будете помещать код сценариев на php должны иметь расширение php или phtml, последний вариант может быть и не включен хостером в качестве альтернативных расширений файлов со сценариями на PHP. Кроме этих расширений, хостер может включить в список расширений файлов для сценариев PHP вообще любое расширение, поэтому какие расширения используются вашим хостингом вы сможете узнать только у провайдера вашего хостинга. Чаще всего используются именно *.php и *.phtml. Договоримся сразу, что в наших примерах мы будем использовать только расширение *.php.

Комментарии:

Как и в большинстве других языках программирования, в PHP также допустимы комментарии. Их в PHP существует три вида:

  1. Однострочные:
    • предваряется последовательностью из двух слэшей (//),

    • Именно ими мы и будем пользоваться в наших примерах, за редким исключением.
    • предваряется символом хэш (# - решеткой),
    • Такие комментарии частенько можно применять внутри циклов или массивов. Конкретнее будет показано в примерах.
  2. Многострочный:
    • Начинается последовательностью слэш и звездочка (/*),
    • Оканчивается обратным порядком, — звездочка и слэш (*/)
    Многострочными коментариями не рекомендую злоупотреблять, так как в некоторых ситуациях это может вызвать ошибку в программе.

Теперь мы готовы написать первую программу на php. Естественно, по традиции, это будет программа, выводящая в браузер текст "Здравствуй мир".

Поместите следующий код в какой-нибудь файл, например в example1.php:
<?php
print "Здравствуй мир";
?>

В дальнейших примерах вы будете сами выбирать имя файла и я не буду вам говорить фразу, — «…поместите следующий код в файл с таким-то именем…», просто знайте, что любой код из наших примеров должен находится в каком-нибудь файле с расширением *.php, расположенном на тестовом хостинге, поэтому просто создавайте файл с нужным вам именем самостоятельно.

Если вы будете использовать короткие теги, то эту же программулину можно будет написать короче, а именно так:
<?="Здравствуй мир";?>

Теперь запустите комплекс денвер и в браузере вызовите этот файл по адресу хоста (например вот так: http://yourhost.com.ru/example1.php). В браузере будет выведена строка «Здравствуй мир», естественно без кавычек. Просто, правда?

Существует и другой эквивалент команды (функции) print, а именно:
echo();
Скобки не обязательны, но и print и echo функции, поэтому принято в справочниках их обозначать со скобками. Следует также помнить, что абсолютное большинство однострочных команд в PHP должно заканчиваться точкой с запятой (;) (другие случаи будем оговаривать особо).

А вот теперь другой пример, программа, выводящая таблицу html на печать в браузер (о помещении кода из наших примеров в файл мы уже поговорили):
<?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>";
?>
А можно и так:
<html>
<head>
<title>Что-нибудь</title>
</head>
<body>
<table align="center">
<tr>
<td colspan="2" align="center">
<?php echo "Заголовок таблицы"; ?>
</td>
</tr>
<tr>
<td><?php echo "Что-нибудь"; ?></td>
<td><?php echo "Еще что-нибудь"; ?></td>
</tr>
</table>";
</body>
</html>

Все эти примеры равнозначны с точки зрения интерпретатора PHP и все они одинаково будут выводить в браузер таблицу из заголовка и двух столбцов (для заголовка я использовал тег <td colspan="2"></td>, просто потому, что мне так легче).

Заметили в п ервых двух примерах, когда теги таблицы выводились функцией print(), кавычки внутри строки я предварял обратным слэшем (\)? Если бы я этого не сделал, то интерпретатор PHP выдал бы ошибку. Но можно это дело обойти. Для этого вместо двойных кавычек надо всего лишь навсего использовать апострофы ('). Правда такой подход накладывает некоторые ограничения на выводимый текст. Дело в том, что если строка содержит переменные, которые должны интерполироваться в их содержимое при выводе на печать в браузер, то помещать такие переменные в строку с апострофами нельзя, так как в этом случае они не покажут своего содержимого (смотрите пример ниже), напротив, в строке, ограниченной двойными кавычками, переменные легко интерполируются и PHP подставляет вместо имени переменной ее содержимое. Это надо помнить.

Приведу еще пару примеров по применению двойных кавычек и апострофов:
<?php
$text="2+2=";
$correct="4";
print "2+2=$correct";
print "<br>";
print $text.$correct;
?>
Если запустить этот скрипт, то в браузере будет выведено две строки, следующего содержания:
2+2=4
2+2=4
А вот теперь пример с апострофами:
<?php
$text="2+2=";
$correct="4";
print '2+2=$correct';
print "<br>";
print $text.$correct;
?>
Если запустить этот скрипт, то в браузере будет выведено две строки, следующе го содержания:
2+2=$correct
2+2=4

Заметили? Переменная, подставленная в апострофах (вот эта строка — print '2+2=$correct';) не показала своего значения, а была записана как есть, то есть как строка "$correct". Поэтому всегда, когда вам надо, чтобы переменная внутри кавычек интерполировалась, нужно использовать именно двойные кавычки, а не апострофы. Если же выводимый текст целиком содержится в переменных и не перемежается с константным текстом (в нашем примере это 2+2= в первой команде print), то можно просто указывать переменные без кавычек (в некоторых местах кавычки обязательны, например, в параметрах функций, где в переменной будет хранится имя файла, например, но об этом позже). Точка в третьей команде print играет роль контактенатора строк. Плюс (+) в PHP является только плюсом, то есть оператором, в то время как точка, применяется к строкам и позволяет склеивать две строки между собой.

Вот пример по этому поводу:
<?php
$one="1"; //Это строка
$two="4"; // И это строка
$three=5; //А это число
$result1=$one+$two+$three;
$result2=$one.$two.$three;
print $result1;
print "<br>";
print $result2;
?>
В браузер будет выведено две строки:
10
145

Здесь вы видите заодно и то, что PHP автоматически (в отличии от большинства других языков программирования) преобразовывает типы данных. Первая строка является ни чем иным, как результатом сложения трех перем енных, две из которых, хоть и содержат цифры, на самом деле являются строками, а одна является числом. Значит PHP, проанализировав переменные, обнаружил в строках числа, и видя оператор сложения преобразовал все три переменные к числовому типу и…, вычислил результат. Во второй же строке мы видим не результат сложения, а результат слияния трех строк, то есть, PHP вновь преобразовал типы по типу операции. Видя, что хоть во всех трех переменных содержатся числа, но применяется операция точка (.), PHP преобразовал все три переменные к строковому типу.

Этот пример показывал действие «+» и «.». Не стоит, правда, уповать на то, что PHP сможет привести любые типы данных. Такое приведение работает только при использовании простых типов и простых операций. Но я забегаю вперед. Подробнее о переменных, типах данных операциях и операторах в следующих уроках. А пока хватит.

РЕЗЮМЕ.

В этом уроке я рассказал о том, как оформлять программу на php, немного затронул применение двойных кавычек и апострофов, а также рассказал о комментариях и немного забежал в будущие уроки. Надеюсь я смог показать, что написать программу на php не слишком сложная задача. Главное изучить все конструкции этого языка, иметь под рукой неплохой справочник по функциям и фантазию. И горы свернете.

 

 
Внимание!!!
Все материалы уроков, публикуемых в этом и во всех последующих выпусках рассылки «Программирование в Web», являются интеллектуальной собственностью авторов и ведущих рассылки. По всем вопросам размещения или публикации данных материалов на собственных ресурсах или где-либо еще, или иного использования, не связанного с личным ознакомлением и самостоятельным обучением, - обращайтесь на адрес автора. Любое использование этих материалов в коммерческих или иных целях, явно не разрешенное автором является незаконным.
 

 
Автор рассылки — Anatolick
Сайт проекта — «Russian discussions Zone» — http://rdzone.org.ru
Движок для сайтов — «Tanat-Engine» — http://tanat.al.ru
Дискуссионный лист  — «Все для Всех о РС»
 

В избранное