class foo {
const bar1 = 10.0;
const bar2 = 2.22;
const bar3 = 5.12;
function getTotal($some_string, $some_number) {
$total = 0.0;
// Why would this flag a warning?
// $what_is_const = constant("bar" . $some_string); // DOES NOT WORK!
$what_is_const = constant(__CLASS__ . "::bar" . $some_string); // WORKS!
$total += $what_is_const * $some_number;
}
}
Предупреждение: constant(): Не удалось найти константу // с таким же именем!__CLASS__ PHP. Нужно прояснить это.
Вопрос: почему мне нужно идентифицировать имя класса для доступа к константе; это вопрос обзора или что-то еще?
Да, его [постоянная класса] (http://php.net/manual/en/language.oop5.constants.php). – drew010
Да, но почему он ведет себя как таковой? – Valkyrurr
Потому что вы объявили это как таковое. –