我想使用extract()函數將我的控制器中分配的所有變量提取到我的模板中。一個簡單的例子是這樣的:將變量提取到具有全局範圍的模板中
private function render() {
extract($this->controller_vars);
require_once("layout.php");
}
的問題是,我的layout.php中內我正在給其它方法「包含」的文件,但更重要的是在佈局中的正確動作/視圖調用。
// This method is called where I want to display the "content" page:
public function display_action() {
require_once("selected_action.php");
}
所以我有效地訪問layout.php中的內部提取的變量,而是因爲它們包含通過在同一個控制器的方法我的看法/行爲沒有。
是否有解決方法,我可以提供提取的變量全局訪問或可能是我的問題的另一種解決方案?
附加信息:
以上2「淡化」的方法版本在我看來類
class views {
private function render() {
extract($this->controller_vars);
require_once("layout.php");
}
public function display_action() {
require_once("selected_action.php");
}
}
在layout.php中文件中的代碼然後,我會打個電話等如:
<div id="content_area">
$this->display_action();
</div>
更多更多更多
我確實可以通過我的視圖類中的數組屬性訪問這些變量,名爲$ this-> controller_vars,因此如果我分配了一個用戶列表,它將存儲在$ this-> controller_vars ['users' ]。我正在尋找一種方法來提取它,以便我可以通過簡單的$用戶訪問它們$ as-> controller_vars ['users']
這是Opencart的代碼? – Pacerier 2014-10-09 12:09:54