Предопределенные, или «волшебные» константы
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 code02.// ...03.my_debug("some debug message", __LINE__);04./* prints05.Line 4: some debug message06.*/07.08.// some more code09.// ...10.my_debug("another debug message", __LINE__);11./* prints12.Line 11: another debug message13.*/14.15.function my_debug($msg, $line) {16.echo "Line $line: $msg\n";17.}