лишние константы из констант 8) это сильно плохо?

phobos

Новичок
лишние константы из констант 8) это сильно плохо?

у меня в начале кода такой вот кусок:

PHP:
DEFINE ('LIB_DIR', $_SERVER['DOCUMENT_ROOT'].'/lib/');
DEFINE ('TPL_DIR', $_SERVER['DOCUMENT_ROOT'].'/tpl/');
DEFINE ('IMG_DIR', $_SERVER['DOCUMENT_ROOT'].'/img/');
DEFINE ('INC_DIR', $_SERVER['DOCUMENT_ROOT'].'/inc/');
DEFINE ('LOG_DIR', $_SERVER['DOCUMENT_ROOT'].'/log/');
DEFINE ('CACHE_DIR', $_SERVER['DOCUMENT_ROOT'].'/htm/');
пользоваться мне удобней но возникает вопрос плохо ли это в плане расходования ресурса?


да и за одно почему у меня на локалке(денвер) нет константы _ENV["SCRIPT_URI"]
а на платном хосте есть. где это настраивается?
и там и там PHP Version 5.1.6
 

Pigmeich

Новичок
Каких еще ресурсов?

Даже если бы все это счастье хранилось в памяти, вряд ли бы потянуло больше чем на пару килобайт.

Но скорее всего, подстановки define производятся при прекомпиляции скрипта.
 

dark-demon

d(^-^)b
DEFINE ('DOC_ROOT', $_SERVER['DOCUMENT_ROOT']);
DEFINE ('LIB_DIR', DOC_ROOT.'/lib/');
...

не увлекайся копипастом...
 

phobos

Новичок
dark-demon
хех ну что то типа того, но это сделано чтобы если надо изменить dir не лазить по всему коду с фонариком
 

dark-demon

d(^-^)b
не вижу связи между фонарным поиском и применением констант

-~{}~ 12.11.07 09:09:

кстати, привязываться к DOCUMENT_ROOT - плохая практика, ибо ты исключаешь возможность установки приложения не в корень веб сервера.
 

phobos

Новичок
да, я еще и проверку при установке скрипта добавлю чтоб убедится что он стоит в корне, но это так частности.

а по второму пункту про $_SERVER['SCRIPT_URI'] не в курсе?
 

boombick

boombick.org
Pigmeich
насколько я помню денвер, нет.. Правда когда я его юзал PHP5 был в версии 0.0-dev =)
 

Фанат

oncle terrible
Команда форума
dark-demon
а к чему ты собрался привязываться?

-~{}~ 12.11.07 14:01:

phobos
тебе обязательно SCRIPT_URI? другие, более употребительные переменные, тебе не подходят?
 

QQQ

Новичок
Но скорее всего, подстановки define производятся при прекомпиляции скрипта.
это на какой именно? на стадии препроцессинга? нифига. и даже не на стадии компиляции в опкоды (или как их там)


Вот рабочий пример:
<?
$time = time();
define('TIME', $time);
while(($time = time()) == TIME);
print TIME." $time";
?>


Автору топика: но как бы там ни было, использование ресурсов однозначно копеешное, стремящееся к нулю.
 

dark-demon

d(^-^)b
к той директории в которую установлено приложение. люблю, знаешь ли, портабл приложения :)
 

phobos

Новичок
Фaнaт
Сейчас использую 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']
а этот вопрос мне чисто в теории интересен.
от 4его набор переменных зависит?
 
Сверху