Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Магические, волшебные константы
Покинул форум
Сообщений всего: 499
Дата рег-ции: Янв. 2010 Откуда: Россия, Москва
Помог: 1 раз(а)
Здравствуйте, какие практические применения могут быть с этими магическими константами?
__LINE__ - Текущая строка в файле. __FILE__ - Полный путь и имя текущего файла.
----- Для некоторых лучший способ написать что-нибудь осмысленное - это сесть _опой на клавиатуру.
Мелкий
Отправлено: 09 Марта, 2011 - 14:13:28
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
__LINE__ - очень удобно для протоколирования ошибок. Номера строки и кое-какой дополнительной информации (например, аргументов и кода возврата функции) в большинстве случаев достаточно для анализа ошибки.
__FILE__ - собственно, там же удобен.
----- PostgreSQL DBA
EuGen
Отправлено: 09 Марта, 2011 - 14:21:08
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Про первую уже сказали, по второй добавлю - часто скрипты создаются не для просмотра через веб, а для исполнения служебных целей (back-end) для приложения. Соответственно помещаются они в крон или иной планировщик задач. Чаще всего такие скрипты создают отчеты о своей работе (то есть логи в простейшем варианте). Если не позаботиться специально, то вызов такого скрипта из произвольного места может вызвать затруднения - а именно лог-файл будет сохранен в тот каталог, откуда был сделан вызов. Это относится и ко всему рабочему окружению для работы с файловой системой.
Однако конструкция
Покинул форум
Сообщений всего: 499
Дата рег-ции: Янв. 2010 Откуда: Россия, Москва
Помог: 1 раз(а)
Stierus, допустим файл лежит в заурядной директории в глубине древа, образном 1/2/3/4/5/6/7/8 - выполняется скрипт ingod.php и требуется сделать инклайд ismaindoc.php зачем прописывать весь путь целиком, когда и без этого он будет искать в директории, в которой хранится ingod.php ?
----- Для некоторых лучший способ написать что-нибудь осмысленное - это сесть _опой на клавиатуру.
Stierus
Отправлено: 10 Марта, 2011 - 11:20:58
Рекордсмен по количеству сообщений за 7 дней
Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008 Откуда: Москваль
Помог: 52 раз(а)
Когда у вас инклуды прописаны в файлах, которые сами инклудятся - у вас без dirname(__FILE__) будут проблемы
JustUserR
Отправлено: 10 Марта, 2011 - 15:08:35
Активный участник
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
LEONeso пишет:
__FILE__ - Полный путь и имя текущего файла.
Использование предполагаемой константного объекта уровня определения исходного кода языка PHP, является единственным базовым средств для осуществления определения расположения ассоциированного исполняемого файлового объекта в операционной системе, поскольку все предполагаемые переменные окружения генерируются на основании базового инициализирующего процесса, и в частности могут осуществлять содержание произвольных информационных полей установленных в модуле CGI-интерфейса
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.