2017-02-22 49 views
0

Можно ли использовать переменную namespace в PHP. Я хочу динамически загружать классы на основе массива конфигурации; что-то вроде этого:Можно ли использовать пространство имен в PHP из переменной?

foreach ($content_types as $key => $content_type) { 
    $namespace = $content_type['entity']; 
    use $namespace; 
} 

Вместо делать это:

use Bundle\Entity\User; 
use Bundle\Entity\Project; 

Примечание: Я использую Symfony, сообщение об ошибке возвращается, когда я сделать это:

Parse Error: syntax error, unexpected 'use' (T_USE)

ответ

4

Я не уверен, если Я понимаю, что вы, вероятно, только это

foreach ($content_types as $key => $content_type) { 
    $class = $content_type['entity']; 
    $entity = new $class(); 
    // do something with $entity.. 
} 
+0

OP не хочет создавать экземпляр, но требует их –

+2

Вам не нужно «требовать» их, если вы их не используете, и если вы уже знаете fqcn, вы можете просто с ними работать – Philipp

+0

Да, это сработало! По-видимому, я смешивал концепции пространства имен и классов. Я не знал, что могу просто инициировать новый объект таким образом. спасибо – 118218