Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Константа уже определена в php

Автор вопроса: JDesignsОтветов: 3

У меня есть функция, которую я пытаюсь запустить, но она показывает сообщение как уже определенное CONSTANT.

Я попытался поставить условие, говорящее "если определено" о функции, но все равно ничего. Есть ли способ игнорировать это и увидеть результат?

  • Не могли бы вы предоставить код? Кроме того, у вас есть файлы included? eykanal 04.05.2011
  • Можете ли вы показать нам код, пожалуйста? James C 04.05.2011
  • на самом деле это связано с несколькими вещами, и в сообщении об ошибке я вижу константу... в 3-4 файлах (это похоже на файл настроек). я не уверен, какой код я могу предоставить, так как их много.. JDesigns 04.05.2011
  • Убедитесь, что вы используете if( defined('NAME') ) вместо if( defined(NAME) ) Robik 04.05.2011
  • как называется функция? ты пробовал менять? Cristian 04.05.2011

phpconstants

Ответы

Ответ 1 · рейтинг 129 · OZ_

Замените это:

define('constant', 'value');

с этим:

if (!defined('constant')) define('constant', 'value');

Ответ 2 · рейтинг 3 · Phill Pafford

определить()

Пример:

/* Note the use of quotes, this is important.  This example is checking
 * if the string 'TEST' is the name of a constant named TEST */
if (defined('TEST')) {
    echo TEST;
}

Ответ 3 · Jakub

Вот как вы проверяете константы:

if (defined('TEST')) {
    echo TEST;
}

Возможно, вы не выполняете проверку должным образом ИЛИ константа, которую вы проверяете, не является причиной ошибки, какой-то мошеннический включаемый файл может иметь другую константу и приводит к перекрытию/переопределению.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы