Dwoo / codeigniter:有没有办法将数据从php分配给dwoo vars INSIDE模板?

时间:2010-08-03 22:31:16

标签: php dwoo

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 ......就是这样吗?)

1 个答案:

答案 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