Константы в PHP5 - PullRequest
       41

Константы в PHP5

1 голос
/ 12 июля 2011

У меня есть класс, в котором я хочу определить некоторые константы, используемые другими классами.Мне не хватает ключевого слова const, потому что я хочу, например, использовать математическое выражение типа 2.0 * pi () в качестве константы.Как это делается?

Ответы [ 2 ]

4 голосов
/ 12 июля 2011

Я понимаю, что вы хотите присвоить математическое выражение константе.

Как:

const FOO = 2.0*pi();

PHP-константы могут содержать только скалярные значения. Если вы хотите, чтобы другие классы использовали совместно используемую информацию, для этого вам придется использовать статические функции / методы.

Пример:

static public function foo()
{
    return  2.0*pi();
}
1 голос
/ 23 августа 2014

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

Подробнее об этом можно прочитать здесь:

http://php.net/manual/en/migration56.new-features.php#migration56.new-features.const-scalar-exprs

и здесь:

https://wiki.php.net/rfc/const_scalar_exprs

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

const FOO = M_PI*2;

Имейте в виду, что PHP 5.6 еще не имеет стабильного выпуска, поэтомупока не рекомендуется использовать его в производстве.

...