Если вы обнаруживаете, что настроите переменную для удобства и никогда не меняете ее во время сценария, скорее всего, вы должны использовать константу. Константы похожи на переменные, за исключением того, что после их определения они не могут быть неопределенными или изменены - они являются постоянными, как следует из названия. На многих языках константы быстрее, чем переменные, поэтому рекомендуется, но это не так много в PHP - хотя они, возможно, немного быстрее, основным преимуществом использования констант является тот факт, что у них нет доллара знак спереди, и поэтому заметно отличаются от переменных. Кроме того, константы автоматически глобальны по всему сценарию, в отличие от переменных.
Чтобы установить константу, используйте функцию define() - она принимает два параметра, причем первым является имя константы для установки, а второе - значение, которое вы хотите установить. Например, это следующая строка кода устанавливает переменную CURRENT_TIME быть возвращаемое значение функции времени(), а затем выводит его:
define("CURRENT_TIME", time());
print CURRENT_TIME;
Обратите внимание, что это не $ CURRENT_TIME или CURRENT_TIME - константы, как переменные , чувствительны к регистру, но в отличие от переменных они не начинаются со знака доллара. Вы можете изменить это поведение, передав верно в качестве третьего параметра для определения(), что делает постоянные независимо от регистра:
define("CURRENT_TIME", time(), true);
print Current_TiMe;
Есть две полезных функций для работы с константами, и они определяются() и константа(). Определенная() функция в основном является константным эквивалентом isset(), поскольку она возвращает true, если определена постоянная строка, которую вы передаете ей. Например:
define("CURRENT_TIME", time(), true);
if (defined("CURRENT_time")) {
/// etc }
Обратите внимание, что вы должны передать постоянное имя в определенные() внутренние кавычки.
Возможный дубликат [DEFINE vs Variable in PHP] (http://stackoverflow.com/questions/1225082/define-vs-variable-in-php) –
@KirkBeard не является точным дубликатом, этот вопрос объясняет определение и что такое константа. В этом случае я прошу о хороших ситтах, что вы должны использовать константы. – Eclipse
С константами вам также не нужно беспокоиться о сфере видимости. –