У меня есть следующий код теста:PHP - константа пространства печати в строке?
namespace Test {
const ONE = 50;
class A {
const TWO = 5;
public function pA($string) {
return $string;
}
}
$a = new A();
print $a->pA($a::TWO);
print "This is a string: {$a->pA($a::TWO)}";
print "This is a namespace constant: " . ONE;
print "This is a namespace constant: " . \Test\ONE;
}
Все эти примеры работы, но это не то, что я ищу.
Могу ли я использовать композицию строк для представления константы, как в первых двух примерах? Я пробовал много комбинаций вроде "${\Test\B}"
или "${B}"
или "${\B}"
, но пока не повезло.
Возможно, это невозможно, и я переусердствовал, но в любом случае ... есть ли способ сделать это?
Я уже опасался, что найду такой ответ ха-ха, но все в порядке. Я просто хотел узнать, возможно ли это или нет, и теперь я знаю, что должен составлять свои строки с помощью точечной нотации вместо составления полных строк. Спасибо за ответ :) –
Да, к сожалению, это ответ. Однако в настоящее время я не вижу причин, почему кудрявый синтаксис '{\ Test \ ONE}' не должен работать. Может быть, стоит подумать о том, чтобы подать запрос на изменение в команду разработчиков PHP. – hek2mgl