Вопрос о константах

Savio

Новичок
Вопрос о константах

Ситуация следцющая
есть у меня следующие константы
PHP:
define('_ERROR1', 'Ошибка 1');
define('_ERROR2', 'Ошибка 2');
...
define('_ERRORN', 'Ошибка N');
пишу функцию по обработке ошибок так сказать
PHP:
function error($error)
{
    $tpl_error = new HTML_Template_IT(_DIR.'templates/'._THEME.'/errors');
    $tpl_error->loadTemplatefile('error.tpl',true,true);
    $tpl_error->setVariable("ERROR",_ERROR);
    $tpl_error->setVariable("ERROR_TEXT1",_ERRORN);
    return $tpl_error;
}
Через
PHP:
$error
передаю номер ошибки функции
Как мне здесь
PHP:
    $tpl_error->setVariable("ERROR_TEXT1",_ERRORN);
а именно в
PHP:
_ERRORN
заменить N на
PHP:
$error
???
 

sage

Новичок
PHP:
_ERROR.$error
-~{}~ 26.01.07 20:10:

заменить кучу констант массивом желание не возникает?
 

Savio

Новичок
неа, неправильно. я это уже пробовал
Notice: Constant _ERROR already defined in.....
 

Savio

Новичок
Автор оригинала: sage
PHP:
_ERROR.$error
-~{}~ 26.01.07 20:10:

заменить кучу констант массивом желание не возникает?
ну если никто не подскажет как можна(если это вообще реально)
то придеться менять :(

-~{}~ 26.01.07 13:15:

ничего я не путаю
вместо
PHP:
$tpl_error->setVariable("ERROR_TEXT1",_ERRORN);
исправил на
PHP:
$tpl_error->setVariable("ERROR_TEXT1",_ERROR.$error);
и возникает выше написаня ошибка
 

AmdY

Пью пиво
Команда форума
Savio
я понял, ты пытаешься переопределить константу?
:)
 

Savio

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

AmdY

Пью пиво
Команда форума
$tpl_error->setVariable("ERROR_TEXT1",_ERROR.$error); - вроде ж правильно. а ошибка проиходит когда _ERROR.$error - уже было назначена
 

Savio

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

Savio

Новичок
да десйтвительно, я сделал ошибку в переопредилении константы, что же касаеться по теме то действотельно оштбка
Notice: Use of undefined constant _ERROR - assumed '_ERROR' in...
 

GemVit

Новичок
_ERROR.$error

Да вы что?
Если надо значение константы передать, то
constant('_ERROR'.$error)
 

GemVit

Новичок
Savio
Если бы заглянул в руководство, то там четко сказано:
Также вы можете использовать функцию constant() для получения значения константы, если вы формируете имя константы динамически.
И вопроса такого не было бы!
 
Сверху