Итак, PHP 8.3 позволит написать вот такой код:
class Invoice {
public const STATUS_COMPLETE = "complete";
}
$constName = "STATUS_COMPLETE";
echo Invoice::{$constName}; //"complete"И ничего не сломается, а как вы помните раньше динамически получить доступ к константе можно было только через:
echo \constant("MyClass::$constName");Теперь в PHP 8.3 код будет валиден и выполняться как ожидается.
Более подробно в новом посте https://sergeymukhin.com/blog/php-83-dinamiceskoe-poluchenie-konstant-klassa-i-enum