Переменное имя класса, используя пространства имен в php - PullRequest
0 голосов
/ 15 апреля 2019

Я хочу использовать имя класса переменной в PHP с префиксным пространством имен.

Три варианта, которые я пробовал, приводят к ожиданию ошибки идентификатора после последней обратной косой черты.

(\api\controllers\(new $class()))->{$method}($this->id);

((new \api\controllers\$class()))->{$method}($this->id);

((new \api\controllers\{$class()}))->{$method}($this->id));

Какмне сделать эту работу?

1 Ответ

1 голос
/ 15 апреля 2019

Как насчет этого:

$full_class_name = '\api\controllers\' . $class;
$controller = new $full_class_name();
$controller->{$method}($this->id);

Возможно, его можно несколько сократить, но выполнение этого, возможно, сделает ответ более неясным и менее полезным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...