Pure dwoo等价物将是:
$dwoo->output('DwooTest/index', array('assignedVar' => 'Hello'));
(我实际上是将它与codeigniter一起使用 - 与Phil Sturgeon的图书馆一起使用):
$this->dwooParser->parse('DwooTest/index', array('assignedVar' => 'Hello'));
然后在index.php里面
{$assignedVar} //outputs 'Hello'
<?php
$localVar = 'LocalVar';
?>
{$localVar} //output: error
有没有办法将模板中的php数据传递给dwoo var?
为什么我使用这个是因为我有一个视图需要一些预处理的排序(它是一种高级视图,所以我不想每次都在控制器内部进行处理),在index.php中我有一个
require 'index.h.php' //(notation inspired from c++ header files)
为了与上面的例子保持一致,index.h.php将处理$ assignedVar,并将数据放入$ localVar,然后数据的显示将发生在模板index.php中。
(另外在旁注,这个Dwoo的文件在哪里......我的意思是wiki ......就是这样吗?)
答案 0 :(得分:1)
在执行模板时,将局部变量保存到Dwoo对象的内部变量中。实际的模板代码在Dwoo对象的上下文中执行,因此您可以使用$ this从php访问其方法。
在这种情况下,您需要的方法是assignInScope($val, $scope),例如:
<?php $this->assignInScope('Hello', 'localVar'); ?>
{$localVar} // outputs Hello
你也可以用readVar($name)读取,即:
<?php echo $this->readVar('localVar'); ?> // outputs Hello again