PHP-4 Эффективная работа


Общие правила построения программы
Типы данных
Выражения
Функции

После краткого неформального введения в главе 2 вы уже имеете общие представления о том, как устроена PHP-программа. Теперь нам осталось закрепить и расширить ваши познания. Я полагаю, что РНР — это не первый язык программирования, который вы осваиваете, и буду по ходу дела ссылаться на аналогичные конструкции из Си и Perl.

3.1. Общие правила построения программы

В этом небольшом разделе мы рассмотрим общие правила синтаксиса РНР-кода, касающиеся использования тегов, разделителей и оформления комментариев.

3.1.1. Где размещается программа на РНР?

Когда PHP-машина приступает к обработке файла, она попросту фильтрует сквозь себя все текстовые данные, которые не являются текстом PHP-программы. Поэтому если вы просто измените расширение HTML-файла на .php, он по-прежнему будет корректно обрабатываться WWW-сервером. Как только у вас возникает необходимость включить в некотором месте вашего файла операторы РНР, вам необходимо перейти в «режим РНР» одним из перечисленных ниже способов.

3.1.1.1. Сокращенные теги РНР

Используются при необходимости включения кратких фрагментов кода. Обычно это вызов одной или нескольких встроенных функций.

Пример:

<? echo ("Простейшая РНР-программа\n"); ?>

<?= expression ?> Это сокращение от "<? echo expression ?>"

Этот метод применим только в том случае, если при конфигурировании РНР вы включили поддержку коротких тегов. Это может быть выполнено либо путем установки параметра short_open_tag в конфигурационном файле php.ini, либо при компиляции PHP-машины с установленным параметром конфигурации --enable-short-tags.

3.1.1.2. Развернутая форма тега

По сути не отличается от предыдущей, но явно указывает на вызов РНР-машины. Наиболее предпочтительный вариант.

<?php есhо("При работе с XHL используйте эту форму вызова\n");
?>

Этот метод позволяет легко интегрировать PHP-программы в новую версию языка описания страниц — XHTML.

3.1.1.3. Объявление через конструкцию script

Некоторые системы подготовки HTML-страниц, такие, как печально известный FrontPage, не позволяют вам использовать приведенные выше теги. В этом случаевы можете для включения PHP-кода применить тег HTML script. Сделать это можно следующим образом:

<script language="php">
          echo ("И снова выводим в HTML-страницу некий текст");
</script>

3.1.1.4. Выделение в стиле ASP

Наконец, вы можете использовать для выделения PHP-программы теги в стиле ASP:

&lt;% echo ("Разрешается использование тегов ASP"); %>
          <%= Svariable; # Это сокращение от "<%есnо ." %>

Использование этого метода допустимо в том случае, если в конфигурационном файле php.ini установлен параметр asp_tags.

внимание
       В любом из методов включения PHP-программы закрывающий тег блока будет включать ' следующий за ним символ перевода строки.

Важной особенностью PHP-машины является возможность произвольного чередования HTML и PHP-кода в файле:

<?php

if ( boolean-expression )
{
          ?>
<strong>Это верно.</strong>
          <?php
}
else
{
          ?>
<strong>Это неверно!</strong>
          <?php
}

примечание
       Реализация такого поведения довольно проста: PHP-машина интерпретирует весь текст между тегами ?> и <?php как аргумент функции echo().

3.1.2. Завершение операторов и команд

Так же как в Си и Perl, в РНР для разделения операторов используется точка с запятой. Кроме того, в качестве индикатора завершения команды может использоваться и закрывающий тег (например ?>), поэтому два приведенных ниже фрагмента полностью эквивалентны:

& <?php
          echo "Стандартный оператор РНР";
?>

<?php echo "Оператор завершается закрывающим тегом" ?>

3.1.3. Комментарии в теле программы

Поскольку в РНР приходят разработчики, привыкшие работать с разными языками, то в ходе эволюции в РНР появилась возможность использования комментариев в стиле Си, C++ и Perl. Например:

<?php
       echo " Привет!"; // Однострочный комментарий в стиле C++
               /* А теперь введем многострочный комментарий
               в стиле классического Си */
       echo "И еще одни привет!";

       echo "Последний привет от РНР"; # комментарий в стиле Perl
?>

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

Поэтому в результате обработки PHP-машиной фрагмента: <h1>Это <?php # echo "простой";?> пример.</hl> вы получите результат, приведенный на рис. 3.1.

Рис. 3.1. Результат обработки однострочных комментариев

И последнее замечание: вы должны избегать вложения многострочных комментариев в стиле Си ( /* ... */), что достаточно часто происходит при закрывании комментариями больших участков кода:

<?php
       /*
               echo "Это просто текст";        /* А это - комментарий, приводящий
                                                           к возникновению неприятностей */
       */
?>
назад
далее

Сайт управляется системой uCoz