Многострочные команды
Иногда нужно вывести на PHP большой объем текста, а использование нескольких инструкций echo или print является не разумным. В PHP это можно сделать двумя способами.
Первый состоит в заключение в кавычки нескольких строк текста.
<?php
$author = "Steve Ballmer";
echo "Developers, Developers, developers, developers,
developers,developers, developers, developers!
- $author.";
?>
|
Или присвоить текст переменной.
<?php
$author = "Steve Ballmer";
$text = "Developers, Developers, developers, developers,
developers,developers, developers, developers!
- $author.";
?>
|
В PHP можно воспользоваться многострочной последовательностью, используя оператор <<<, который обычно называют here-document (здесь документ) или heredoc.
<?php
$author = "Steve Ballmer";
echo <<< _END
Developers, Developers, developers, developers,
developers,developers, developers, developers!
- $author.
_END;
?>
|
Код предписывает парсеру PHP вывести все, что находится между тегами _END, как строку. Использование этого синтаксиса допустимо для присвоения значения строковой переменной.
Типы переменных
PHP относится к очень слабо типизированным языкам. Это значит, что переменные не требуют объявления перед своим использованием и что PHP всегда преобразует переменные в тот тип, который требуется для их окружения на момент доступа к ним.
Что это значит? Дело в том, что PHP преобразует числовую переменную в строковую и обратно, целое число к числу с плавающей точкой и обратно, и другие преобразования для получения нужного вам результата. К примеру, вам нужно вывести 3,4 цифру числа 763836, PHP преобразует его в строку и выдаст вам результат ( substr(763836, 2, 2); ). В процессе работы персер PHP преобразует число в строку, после найдет 3 символ и возьмет от него два символа, результат будет 38. Хоть это будет строка, его так же можно будет преобразовать в число.
Константы
Константы - это переменные хранящие информацию, как и обычные переменные, только информация не может быть изменена в процессе работы.
define("ROOT_LOCATION", "/usr/local/www/");
|
Обращение к константе происходит как к обычной переменной.
$directory = ROOT_LOCATION;
|
Предопределенные константы
В PHP существуют константы , известные как волшебные. У всех имен в начале и конце стоят два символа подчеркивания. Константы и описание приведены в таблице 1.
Волшебные константы |
Описание |
__LINE__ |
Номер текущей строки в файле |
__FILE__ |
Полное путевое имя файла. Если используется внутри инструкции include, то возвращается имя включенного файла. В версии PHP 4.0.2 __FILE__ всегда содержит абсолютный путь с раскрытыми символическими ссылками, а в предыдущих версиях при определенных обстоятельствах она может содержать относительный путь |
__DIR__ |
Каталог файла. Если используется внутри инструкции include, то возвращается каталог включенного файла. Такой же результат дает применение функции dirname(__FILE__). В этом имени каталога отсутствует замыкающий слеш, если только этот каталог не является корневым. (Добавлена в PHP 5.3.0) |
__FUNCTION__ |
Имя функции. Начиная с PHP 5, возвращает имя функции, под которым она была объявлена (с учетом регистра символов). В PHP 4 возвращаемое значение всегда составлено из символов нижнего регистра. (Добавлена в PHP 4.3.0) |
__CLASS__ |
Имя класса. Начиная с PHP 5, возвращает имя класса, под которым он был объявлен (с учетом регистра символов). В PHP 4 возвращаемое значение всегда составлено из символов нижнего регистра. (Добавлена в PHP 4.3.0) |
__METHOD__ |
Имя метода класса. Возвращает имя метода, под которым он был объявлен (с учетом регистра символов). (Добавлена в PHP 5.0.0) |
__NAMESPACE__ |
Имя текущего пространства имен (с учетом регистра символов). Эта константа определена во время компиляции. (Добавлена в PHP 5.3.0) |
Эти константы полезны при отладке, когда нужно понять где произошла ошибка.
echo "Это строка " . __LINE__ . " в файле " . __FILE__;
|
Различие между командами echo и print
С командой echo мы уже встречались ранее, при выводе текста. Однако echo имеет альтернативу - print. Конструкция print похожа на функцию, воспринимает единственный параметр и возвращает значение.
Следующий пример демонстрирует возможность использования команды print:
$b ? print "TRUE" : print "FALSE";
|
Подобную конструкцию сделать с помощью команды echo не получится, поскольку мы получим сообщение об ошибке - Parser error.
Рекомендуется использовать команду echo, а команду print только если echo использовать нельзя.
|