Встроенные псевдоконстанты в PHP | PC vlog

Встроенные псевдоконстанты в PHP

Встроенные псевдоконстанты в PHP

Привет! Сегодня я объясню вам, что такое псевдоконстанты в PHP. Итак, давайте начнем. Здесь есть много чего интересного.

Ну во-первых, почему они называются псевдо? Потому что значения у них постоянно меняются, а имя остается постоянным и, самое важное, что имя у них начинается и заканчивается двойным подчеркиванием.

Псевдоконстанта __LINE__


Например, есть такая псевдоконстанта __LINE__ (читается как: подчеркивание подчеркивание LINE подчеркивание подчеркивание):

<?php
echo __LINE__;
?>

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

Псевдоконстанта __FILE__

Помимо псевдоконстанты __LINE__, у нас есть еще одна псевдоконстанта, которая называется __FILE__. Она возвращает полные физический путь к этому файлу, в котором она прописана:

<?php
echo __FILE__;
?>

Псевдоконстанта __FUNCTION__

Есть еще одна псевдоконстанта, называется она __FUNCTION__. Если ее прописать внутри функции, то она вернет название этой функции:

<?php
function HelloFunction{
echo __FUNCTION__;
}
HelloFunction();
?>

В браузер выведется имя функции: HelloFunction. Тоже очень удобная функция, опять же для отслеживания ошибок или для тестирования кода, когда у нас выполняется цепочка функции сначала одна, потом другая и мы можем, прописав эту константу, отслеживать порядок выполнения функций, то есть какая функция выполнилась, какая нет, в какой функции произошла ошибка и т.д.

Знаете как обычно внизу своего сайта многие пишут такую вещь:

Попробуйте так написать и посмотрите, что у вас получится.

Глобальный массив $GLOBALS


Однако, помимо встроенных псевдоконстант, у PHP есть еще свои встроенные глобальные переменные. С одной из таких переменных мы уже встречались в предыдущих уроках. Эта переменная или ее еще называют глобальный массив PHP это $GLOBALS. В версии PHP 5.3.8 этот массив выглядит так:

В ранних версиях PHP этот массив выглядел совсем ужасно. В каждой ячейке массива лежал еще массив со входящими в него элементами. Многие ячейки имели дубликаты в виде длинных названий, которые в последствии были убраны. В принципе можно посмотреть как выглядел этот массив изначально. За это отвечает настройка REGISTER_LONG_ARRAYS в php.ini. Однако, в большинстве случает, мы не можем изменять данный файл, поэтому мы сделаем следующее. Для этого в файле .htaccess мы пишем такую запись:

php_flag register_long_arrays on

Про то как работать с файлом .htaccess читаем статью работа с файлом .htaccess.

Сейчас в данном массиве находится только самое необходимое это массивы POST, GET, COOKIE, FILES. И он лишен излишней не нужной информации, что на мой взгляд, очень удобно.

А вообще, нам с вами массив $GLOBALS нужен только для того, чтобы достучаться до переменных в функциях и работать с ними из вне этих функций.

Так! Что еще нужно сказать?

Смотрите, раньше до массива $_POST можно было достучаться так:

<?php
echo $GLOBALS['_POST']['a'];
?>

А теперь возможен такой вариант:

<?php
echo $_POST['a'];
?>

Что гораздо удобнее и изящнее смотрится. Вообще даже не заморачивайтесь с таким вариантом как $GLOBALS['_POST']['a'], это никому не нужно и никто так уже не делает.


Вам будет это интересно:

Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Комментариев к записи: 1

  1. Спасибо, отличная статья.

Оставить комментарий