来自 mustache 的 Symfony2 服务参考

Symfony2 Service reference from mustache

我有一个 mustache 模板,其中包含以下行

{{{widgets.service_name.js.footer}}}

我在 symfony2 包中找到了相应的服务定义

service_name:
        class: A\B\C\D\EventListener\AssetsListener
        arguments:
            - @templating
            - %a.b.timestamp%
            - %kernel.environment%
        tags:
            - { name: kernel.event_listener, event: kernel.response, method: injectAsset, priority: -255}

.js.footer(symfony2 服务名称的前缀)中是否有 mustache 特定含义,我找不到与此相关的任何参考。

任何人都可以提供一些指示,我将不胜感激。

谢谢

小胡子标签中的点相当于数组访问、属性或方法调用。所以这个:

{{{widgets.service_name.js.footer}}}

意思是这样的:

$widgets['service_name']['js']['footer'];
$widgets['service_name']->js->footer;
$widgets['service_name']->js()->footer();

… 或以上的某种组合。它实际转换成什么取决于服务是什么,它公开了什么 public 方法或属性,以及它们 return.

有关 Mustache dot notation, and on variable resolution in Mustache.php 的更多信息。