Почему const в классе можно определить позже? - PullRequest
1 голос
/ 23 января 2020

Для PHP const будет отображаться строка (5) "hello"

<?php
const Y = "hello";
const X = Y;
var_dump(X);

Это выведет строку (1) "Y" с предупреждением о том, что вы используете Y, не определяя его.

<?php
const X = Y;
const Y = "hoge";
var_dump(X);

Это показывает строку (5) "привет" и, кажется, может видеть A::Y до определения.

Почему вы не можете обратиться к обратному константу вне класса а внутри класса? В то время, что обрабатывается в каком порядке?

<?php
class A {
    const X = A::Y;
    const Y = "hello";
}
var_dump(A::X);
...