如何从一个视图访问一个元素声明的变量

问题描述:

比方说,我有AA视图和元素:如何从一个视图访问一个元素声明的变量

myElement{ 
    $aVar = 'abc'; 
} 


myView{ 
    <?php echo $this->element('myElement'); ?> 
    <?php echo $aVar; ?> (outputs: abc) 
} 

我呈现在视图中的元素之后,我怎么能访问该元素声明的变量从我看来?当我尝试这个时,变量是未定义的。

+2

为什么你有一个myView类打开一个括号,然后在那里有一些PHP打开标记?此代码在技术上不正确,无法工作。请提供真实的代码... – 2012-01-10 16:33:52

+0

这只是伪代码 – Kunle 2012-01-10 21:55:48

你的意思是这样的吗?

// controller 
$this->set('aVar', 'aValue'); 

// view or layout 
echo $this->element('myElement', array('someVar'=>$aVar)); 

// myElement 
echo $someVar; // outputs 'aValue' in 'myElement' 
+0

并且从控制器中进行设置使其可以在元素中立即显示为“aVar”。那么“someVar”演员是额外的。只需在这里添加我的五分钱。 – mark 2012-01-10 18:04:28

+0

是的,这是行得通的。然而,问题是关于在视图中输出元素外部的值。如果元素改变了值,我怎么能在视图中看到它? – Kunle 2012-01-11 01:48:20

如果有任何可怜的灵魂仍在使用CakePHP 1.3这个API是:

$this->set('var', 'value'); 
$this->getVar('var'); 

getVar