Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 有没有办法列出细枝模板中定义的所有宏?_Php_Twig - Fatal编程技术网

Php 有没有办法列出细枝模板中定义的所有宏?

Php 有没有办法列出细枝模板中定义的所有宏?,php,twig,Php,Twig,我得到了一个细枝模板a,它基本上由许多细枝宏组成。 我将该模板包含在另一个细枝模板B中。 我可以在模板B中列出模板A中定义的所有宏吗? 如果没有,可以使用PHP控制器来完成吗 谢谢你你可以在twig中通过创建扩展twig\u模板的自定义类来破解它 它摸起来有点脏,但效果很差 注意:Twig为您使用get生成的每个宏添加前缀,因此如果您有{%macro getField….%},它将使用当前解决方案显示getField 将自定义模板类注册到twig <?php $loader

我得到了一个细枝模板a,它基本上由许多细枝宏组成。 我将该模板包含在另一个细枝模板B中。 我可以在模板B中列出模板A中定义的所有宏吗? 如果没有,可以使用PHP控制器来完成吗


谢谢你

你可以在
twig
中通过创建扩展
twig\u模板的自定义类来破解它

它摸起来有点脏,但效果很差

注意:
Twig
为您使用
get
生成的每个宏添加前缀,因此如果您有
{%macro getField….%}
,它将使用当前解决方案显示
getField

将自定义模板类注册到
twig

<?php   
    $loader = new Twig_Loader_Filesystem(__DIR__ . '/path/to/views');
    $twig = new Twig_Environment($loader, array(
        'base_template_class'   => '\My\ProjectName\Here\Template',
    ));

<?php   
    $loader = new Twig_Loader_Filesystem(__DIR__ . '/path/to/views');
    $twig = new Twig_Environment($loader, array(
        'base_template_class'   => '\My\ProjectName\Here\Template',
    ));
{% import "macros/forms.html" as forms %}
<ul>
{% for function in forms.DefinedFunctions %}
    <li>{{ function }}</li>
{% endfor %}
</ul>