Как и в первом примере, вам нужно получить значение константы класса с помощью функции constant
, передав имя, которое вы вычисляете динамически.Между тем, с псевдонимом класса, вам нужно немного взломать вызов, как предложено в этом 4-летнем комментарии в документации php .
Вот тест, который я сделал.У меня не установлена ваша библиотека, поэтому я создал что-то с нуля в качестве минимального многоразового использования.
Сначала я создал class.php
с классом пространства имен:
<?php
namespace Toto\Pipo;
class Bingo {
const ORIENTATION_PORTRAIT = "Value for Portrait";
const ORIENTATION_LANDSCAPE = "Value for Lanscape";
}
Затем я создалuse_class_constant.php
скрипт делает то, что вы пытаетесь достичь:
<?php
include('class.php');
use Toto\Pipo\Bingo as Worksheet;
$orientation = 'PORTRAIT';
echo constant(Worksheet::class."::ORIENTATION_{$orientation}") . "\n";
И вот результат:
$ php use_class_constant.php
Value for Portrait
При необходимости, это версия php, которую я использовал:
$ php -v
PHP 7.2.17-0ubuntu0.18.04.1 (cli) (built: Apr 18 2019 14:12:38) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.2.17-0ubuntu0.18.04.1, Copyright (c) 1999-2018, by Zend Technologies