Предопределенные, или «волшебные» константы
PHP предусматривает полезные «волшебные» константы для выборки текущего номера строки (__LINE__), пути файла (__FILE__), пути каталога (__DIR__), имени функции (__FUNCTION__), имени класса (__CLASS__), имени метода (__METHOD__) и пространства имен (__NAMESPACE__).
В этой статье мы не собираемся охватывать каждую из них, но я покажу вам некоторые случаи их использования.
Когда в дело включаются другие скрипты, хорошая идея – использование константы __FILE__ (или __DIR__ в версии PHP 5.3):
1.
// этот код зависит от пути загруженного скрипт
2.
// и может вызвать проблемы при использовании из других каталогов
3.
require_once
(
'config/database.php'
);
4.
5.
// а этот код всегда относителен к пути текущего файла
6.
// в независимости откуда он был включен
7.
require_once
(dirname(
__FILE__
) .
'/config/database.php'
);
Использование __LINE__ облегчает отладку программы. Можно отследить номера строк:
01.
// some code
02.
// ...
03.
my_debug(
"some debug message"
,
__LINE__
);
04.
/* prints
05.
Line 4: some debug message
06.
*/
07.
08.
// some more code
09.
// ...
10.
my_debug(
"another debug message"
,
__LINE__
);
11.
/* prints
12.
Line 11: another debug message
13.
*/
14.
15.
function
my_debug(
$msg
,
$line
) {
16.
echo
"Line $line: $msg\n"
;
17.
}