- •Назначение php-интерпретатора
- •Расширения
- •Параметры настройки
- •Режимы запуска интерпретатора (sapi)
- •Альтернативные реализации
- •Основные синтаксические конструкции php
- •Обращение к переменным и функциям
- •Суперглобальные массивы
- •Массивы
- •Синтаксис
- •Типы данных
- •Управление выводом ошибок
- •Объектно-ориентированный подход к программированию
- •Паттерны проектирования
- •Шаблонизатор Smarty
Альтернативные реализации
В силу популярности языка PHP и желания увеличить быстродействие основанных на нём веб-приложений, создано несколько альтернативных компиляторов, близких к PHP языку. Так в феврале 2010 года компания Facebook открыла свой компилятор PHP — HipHop (HPHP, Hyper-PHP) генерирующий код на C++, с последующей компиляцией в машинный код с помощью gcc.
Основные синтаксические конструкции php
Синтаксис PHP подобен синтаксису языка Си. Некоторые элементы, такие как ассоциативные массивы и цикл foreach, заимствованы из Perl.
Для работы программы не требуется описывать какие-либо переменные, используемые модули и т. п. Любая программа может начинаться непосредственно с оператора PHP.
Открывающий тег вида <?= используется для сокращённой записи конструкций используемых для вывода строки.
PHP исполняет код, находящийся внутри ограничителей, таких как <?php ?>. Всё, что находится вне ограничителей, выводится без изменений. В основном это используется для вставки PHP-кода в HTML-документ.
echo — Выводит одну или более строк.
void echo ( string $arg1 [, string $... ] )
Выводит все аргументы.
На самом деле echo - это не функция, а конструкция языка, поэтому заключать аргументы в скобки необязательно. echo (в отличии от других языковых конструкций) не ведет себя как функция, поэтому не всегда может быть использована в контексте функции. Вдобавок, если вы хотите передать более одного аргумента в echo, эти аргументы нельзя заключать в скобки.
Методы передачи данных
Данные методом GET передаются путем их добавления к URL-адресу вызываемого сценария, предназначенного для обработки полученной информации. Для пояснения данного метода наберите в адресной строке браузера URL-адрес ресурса и добавьте сначала знак вопроса (?), а затем строчку num=10. Например файл script.php:
<html> <head> <title>Проверка метода GET в PHP</title> </head> <body> <?php echo ($_GET["num"]."<br>"); echo ($_GET["type"]."<br>"); echo ($_GET["v"]); ?> </body> </html>
И теперь вызовите этот файл в браузере
http://путь/script.php?num=10&type=new&v=text
Для отправки данных методом POST нужно использовать HTML-формы.
<form action="script_post.php" method="post" > Введите число <input type="text" name="num" value="" /><br/> У Вас есть компьютер? <select name="type"> <option value="yes">Да</option> <option value="no">Нет</option> </select><br/> Ваш комментарий:<br/> <textarea name="v" ></textarea><br/> <input type="submit" name="bsubmit" value="Отправить" /> </form>
Условные выражения
Конструкция if является одной из наиболее важных во многих языках программирования, в том числе и PHP. Она предоставляет возможность условного выполнения фрагментов кода. Структура if реализована в PHP по аналогии с языком C:
if (выражение)
инструкция
Следующий пример выведет a больше b, если значение переменной $a больше, чем $b:
<?php if ($a > $b) echo "a больше b"; ?>
Оператор switch подобен серии операторов IF с одинаковым условием. Во многих случаях вам может понадобиться сравнивать одну и ту же переменную (или выражение) с множеством различных значений, и выполнять различные участки кода в зависимости от того, какое значение принимает эта переменная (или выражение). Это именно тот случай, для которого удобен оператор switch.
Пример:
<?php if ($i == 0) { echo "i равно 0"; } elseif ($i == 1) { echo "i равно 1"; } elseif ($i == 2) { echo "i равно 2"; } switch ($i) { case 0: echo "i равно 0"; break; case 1: echo "i равно 1"; break; case 2: echo "i равно 2"; break; } ?>
Циклы
Цикл for самый сложный цикл в PHP. Он ведет себя так же как его аналог в языке C. Синтаксис цикла for следующий:
for (expr1; expr2; expr3)
statement
Пример вывода на экран чисел от 1 до 10: <?php for ($i = 1; $i <= 10; $i++) { echo $i; }
?>
Циклы while являются простейшим видом циклов в PHP. Они ведут себя так же, как и их коллеги из языка C. Простейшей формой цикла while является следующее выражение:
while (expr)
statement
Пример вывода на экран чисел от 1 до 10: <?php /* пример 1 */ $i = 1; while ($i <= 10) { echo $i++; /* выводится будет значение переменной $i перед её увеличением (post-increment) */
}
?>
Цикл do-while очень похож на цикл while, с тем отличием, что истинность выражения проверяется в конце итерации, а не в начале. Главное отличие от обычного цикла while в том, что первая итерация цикла do-while гарантированно выполнится (истинность выражения проверяется в конце итерации), тогда как она может не выполниться в обычном цикле while (истинность выражения которого проверяется в начале выполнения каждой итерации, и если изначально имеет значение FALSE, то выполнение цикла будет прервано сразу).
Есть только один вариант синтаксиса цикла do-while:
<?php $i = 0; do { echo $i; } while ($i > 0); ?>
Пример:
<?php do { if ($i < 5) { echo "i еще недостаточно велико"; break; } $i *= $factor; if ($i < $minimum_limit) { break; } echo "значение i уже подходит"; /* обработка i */ } while (0); ?>
