2013-02-20 107 views
0

我正在编写一个PHP应用程序用于学校工作,我使用Twig模板引擎孤独(没有框架)。树枝错误:警告:{closure}()的参数1缺失

我得到了一个文件,它在我的项目中初始化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' 
)); 

我有一个小枝函数,它返回到我的静态文件文件夹的路径。但是,当我运行addFunction($my_function)我得到了下面的错误:

警告:缺少参数1 {关闭}()

我的嫩枝功能:

$url_for_static = new Twig_SimpleFunction('static_folder', function() { 
$static_folder = "./static" ; 
    return $static_folder ; 
}); 

$twig->addFunction($url_for_static); 

我知道这答案真的很晚,但我终于找到了解决我的问题。我的小枝函数声明是错误的。 这为我工作:

`

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

我从来没有使用过的树枝,但似乎关闭被调用的参数,但你没有定义任何参数在你的关闭。试试这个:

$url_for_static = new Twig_SimpleFunction('static_folder', function ($arg) { 
    var_dump($arg); 
    $static_folder = "./static" ; 
    return $static_folder ; 
}); 
+0

@iamphinson请发表你的答案为这个问题的答案。 48小时后,您可以接受这个最佳答案。这是处理这种事情的常见方式 – 2013-03-05 13:43:09

+0

好吧,@WouterJ :)我在尝试,但在评论中包含代码有点困难。我用的是''但它不工作 – phndiaye 2013-03-05 13:52:15

+0

@iamphinson正如我说,你不应该使用一个评论,但典型值在下面的框中的答案(点击下面的“回答你的问题”按钮) – 2013-03-05 13:53:24

0

我知道这个答案真的是迟,但我终于找到了解决我的问题。我的小枝函数声明是错误的。

这为我工作:

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')) ; 
相关问题