我该如何检测自己在哪个捆绑包中?
例如,当我在web.com/participants/list时,我想读取“participants”。
我该如何检测自己在哪个捆绑包中?
例如,当我在web.com/participants/list时,我想读取“participants”。
为了在控制器中获取束(bundle)名称:
// Display "AcmeHelloBundle"
echo $this->getRequest()->attributes->get('_template')->get('bundle');
并且在Twig模板中:
{{ app.request.get('_template').get('bundle') }}
为了在控制器中获取控制器名称:
// Display "Default"
echo $this->getRequest()->attributes->get('_template')->get('controller');
在Twig模板中:
{{ app.request.get('_template').get('controller') }}
为了在控制器中获取操作名称:
// Displays "index"
echo $this->getRequest()->attributes->get('_template')->get('name');
在Twig模板中:
{{ app.request.get('_template').get('name') }}
entity_management_guesser:
class: Acme\HelloBundle\Service\EntityManagementGuesser
$guesser = $this->get('entity_management_guesser')->inizialize($this);
$bundleName = $guesser->getBundleName(); // Acme/HelloBundle
$bundleShort = $guesser->getBundleShortName(); // AcmeHelloBundle
你可以通过以下方式获取当前路由的控制器:
$request->attributes->get('_controller');
您可以在控制器中简单地获取bundle名称,如下所示:
// Display "SybioCoreBundle"
echo $this->getRequest()->attributes->get('_template')->get('bundle');
在Twig模板中:
{{ app.request.get('_template').get('bundle') }}
->attributes->get('_template')
是不可用的。 - Leevi Graham$request->attributes->get('_controller');
或$this->getRequest()->attributes->get('_controller');
来获取控制器名称。 - Shadman