请看这段代码:
require 'slim'
SLIM = <<-SLIM
- column do
= 'Text '
SLIM
def column(&block)
$column = block
end
#########
template = Slim::Template::new { SLIM }
template.render(self)
p $column.call
p $column.call
p $column.call
正如您所看到的,我已经捕获了块(它将'Text'字符串呈现)到$column
全局变量,并将其调用3次。我希望会打印出来:
"Text "
"Text "
"Text "
但我看到了:
"Text "
"Text Text "
"Text Text Text "
如何捕获块并避免重复?
答案 0 :(得分:0)
我认为这是因为你传递了$datat = $this->getDoctrine()
->getRepository('AppBundle:users')
->findOneBy(array('userId' => $userId));
值的块,而= 'Text '
中的=
正在累积值,这就是你获得增量字符串的原因
为什么你不能多次拨打Slim
?
template.render(self)
答案 1 :(得分:0)
如果ypu在没有框架的情况下使用slim,则直接尝试p #{yield}
3次。