提取当前命名空间,包,控制器和操作名称symfony3

时间:2016-11-06 09:24:53

标签: php symfony

我需要动态函数来获取symfony3控制器中的当前命名空间,包,控制器和操作名称

1 个答案:

答案 0 :(得分:1)

使用Reflection

这里是official doc的一个小例子,它提取名称空间和类名:

<?php
namespace A\B;

class Foo { }

$class = new \ReflectionClass('stdClass');

var_dump($class->inNamespace());
var_dump($class->getName());
var_dump($class->getNamespaceName());
var_dump($class->getShortName());

$class = new \ReflectionClass('A\\B\\Foo');

var_dump($class->inNamespace());
var_dump($class->getName());
var_dump($class->getNamespaceName());
var_dump($class->getShortName());
?>

输出:

bool(false)
string(8) "stdClass"
string(0) ""
string(8) "stdClass"

bool(true)
string(7) "A\B\Foo"
string(3) "A\B"
string(3) "Foo"