我需要动态函数来获取symfony3控制器中的当前命名空间,包,控制器和操作名称
答案 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"