如何在Symfony中创建CoreBundle?

时间:2017-09-14 12:33:50

标签: php symfony

简而言之,我想知道它是否可能像CakePHP一样。拥有一个" CoreBundle(Appcontroller)"每当路由或控制器调用时都会执行。

我希望这能够生成将添加到变量发送到twig模板的变量。 我正在寻找这样的东西,以避免在每个控制器中生成此功能,我不想使用{%render%}

很抱歉,问题/答案很明显^^

1 个答案:

答案 0 :(得分:0)

您可以创建服务并将该服务注册为symfony全局变量。

# app/config/config.yml
twig:
    # ...
    globals:
        # the value is the service's id
        user_management: '@AppBundle\Service\UserManagement'

https://symfony.com/doc/current/templating/global_variables.html

然后从树枝上你可以通过以下方式打电话给它:

{{ user_management.username }}
{{ user_management }} <-- this will call the method UserManagement->__toString()
{{ user_management.prettyPrint() }} <-- this will call the method UserManagement->prettyPrint()