Dwoo / codeigniter: есть ли способ назначить данные из php шаблонам dwoo vars INSIDE?

Чистым эквивалентом будет:

$dwoo->output('DwooTest/index', array('assignedVar' => 'Hello'));

(Я на самом деле использую его с codeigniter - с библиотекой Фила Стерджена):

$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 будет обрабатывать $assignVar и помещать данные в $localVar, тогда отображение данных будет происходить внутри шаблона index.php.

(Также на дополнительном примечании, где документация для этой вещи Dwoo... Я имею в виду, что wiki... это так?)

1 ответ

Эти локальные переменные сохраняются во внутренней переменной объекта Dwoo во время выполнения шаблона. Фактический код шаблона выполняется в контексте объекта Dwoo, поэтому у вас есть доступ к его методам из php, используя $this.

В этом случае вы хотите использовать метод assignInScope($val, $scope), который назначит его так, например:

<?php $this->assignInScope('Hello', 'localVar'); ?>
{$localVar} // outputs Hello

Вы также можете читать с него с помощью readVar ($ name), то есть:

<?php echo $this->readVar('localVar'); ?> // outputs Hello again
Другие вопросы по тегам