Php 细枝扩展函数读取值

Php 细枝扩展函数读取值,php,twig,extension-methods,Php,Twig,Extension Methods,我试图创建一组简化的函数,让用户创建一个将作为表单呈现的细枝模板 表单在执行时应读取自生成的数据数组 下面的代码应该打印一个名为“hello”的字段,提交时(示例值为“world”)创建一个数组键hello,并显示值为“world”的绑定字段 模板示例: {{configkey('hello', 'Hello Field')}} 扩展函数 $func = new Twig_SimpleFunction('configkey', function ($key='example', $

我试图创建一组简化的函数,让用户创建一个将作为表单呈现的细枝模板

表单在执行时应读取自生成的数据数组

下面的代码应该打印一个名为“hello”的字段,提交时(示例值为“world”)创建一个数组键hello,并显示值为“world”的绑定字段

模板示例:

  {{configkey('hello', 'Hello Field')}}
扩展函数

    $func = new Twig_SimpleFunction('configkey', function ($key='example', $label='label') {

        echo  '<div class="control-group">';
        echo  '<label class="control-label" for="' . $key . '">' . $label . '</label>';
        echo  '<div class="controls">';
        echo  '<input type="text" name="' . $key . '" value="{{config.' . $key . '}}"/>';
        echo  '</div>';
        echo  '</div>';

    });
$func=new Twig\u SimpleFunction('configkey',function($key='example',$label='label')){
回声';
回显“.$label.”;
回声';
回声';
回声';
回声';
});
$this->_twigEnv->addFunction('configkey',$func)

输出


向所有人寻求帮助,但我发现解决方案比预期的要简单

 $func = new Twig_SimpleFunction('configkey', function ($key='example', $label='label', $value='') {

    echo  '<div class="control-group">';
    echo  '<label class="control-label" for="' . $key . '">' . $label . '</label>';
    echo  '<div class="controls">';
    echo  '<input type="text" name="' . $key . '" value="' . $value . '"/>';
    echo  '</div>';
    echo  '</div>';

});

您是否有更好的方法仅使用键参数进行绑定?

twig函数不应回显结果,它必须返回resultin而不是回显嵌入在twig文件中的html,这样您就可以正确打印配置数组值。您是独立使用Twig组件还是在框架内使用?我可以建议您基于symfony2框架的实现。让我know@kmlnvm我试图短暂地返回一个字符串,但函数输出一个原始html。我在一个zf1应用程序中,使用自定义zend视图依赖于twig,并使用twig loader的自定义实现从S3中提取模板。
{{configkey('hello', 'Hello Field', config.hello)}}