我正在用PHP编写一个用于学校工作的应用程序,而我正在使用Twig模板引擎(没有框架)。
我有一个文件在我的项目中初始化Twig,我在所有需要它的文件中使用它。
include_once('./Twig/lib/Twig/Autoloader.php');
Twig_Autoloader::register();
$loader = new Twig_Loader_Filesystem('./templates');
$twig = new Twig_Environment($loader, array(
'cache' => false,
'charset' => 'utf-8'
));
我有一个Twig函数,它返回我的静态文件文件夹的路径。但是当我运行addFunction($my_function)
时,我收到以下错误:
警告:{closure}()
缺少参数1
我的Twig功能:
$url_for_static = new Twig_SimpleFunction('static_folder', function () {
$static_folder = "./static" ;
return $static_folder ;
});
$twig->addFunction($url_for_static);
我知道这个答案真的很晚,但我终于找到了解决问题的方法。我的Twig函数声明错了。 这对我有用:
`
function blank_space($size=100) {
echo "<div class='grid-". $size ." hidden'> <span> hidden </span> </div>" ;
}
$twig->addFunction('blank_space', new Twig_Function_Function('blank_space')) ;
`
答案 0 :(得分:0)
我之前从未使用过Twig,但似乎用一个参数调用了闭包,但你没有在闭包中定义任何参数。试试这个:
$url_for_static = new Twig_SimpleFunction('static_folder', function ($arg) {
var_dump($arg);
$static_folder = "./static" ;
return $static_folder ;
});
答案 1 :(得分:0)
我知道这个答案真的很晚,但我终于找到了解决问题的方法。我的Twig函数声明错了。
这对我有用:
function blank_space($size=100) {
echo "<div class='grid-". $size ." hidden'> <span> hidden </span> </div>" ;
}
$twig->addFunction('blank_space', new Twig_Function_Function('blank_space')) ;