0

純粋な 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 は... それだけですか?)

4

1 に答える 1

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
于 2010-08-24T13:38:34.087 に答える