2010-08-03 2 views
0

순수 dwoo 동등한은 다음과 같습니다 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가 assignedVar $를 처리하고 $ 지역 변수를에 데이터를 넣어 것, 데이터의 표시는 템플릿의 index.php 안에 일어날 것입니다.

(또한이 Dwoo 일에 대한 설명서입니다 보조 노트에 ... 나는 위키 ... 그게 것을 의미?)

답변

1

지역 변수는 Dwoo의 내부 변수로 저장됩니다 템플릿이 실행되는 동안 객체. 실제 템플릿 코드는 Dwoo 객체의 컨텍스트 내에서 실행되므로 $ this를 사용하여 PHP의 메소드에 액세스 할 수 있습니다.

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

또한 readVar($name)로 읽을 수, 즉 :

<?php echo $this->readVar('localVar'); ?> // outputs Hello again 
:

당신이이 경우에 원하는 방법은 예를 들어 같은 할당 것이다 assignInScope($val, $scope)입니다