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는 layout.php 파일에서 내보기 클래스
class views {
private function render() {
extract($this->controller_vars);
require_once("layout.php");
}
public function display_action() {
require_once("selected_action.php");
}
}
의 방법의 버전을 "약화"된 코드는 그때 전화는 만들 것 로 :
<div id="content_area">
$this->display_action();
</div>
더
01 자세히 자세히필자는 $ this-> controller_vars라는 뷰 클래스의 배열 속성으로이 변수에 액세스 할 수 있습니다. 따라서 사용자 목록을 할당하면 $ this-> controller_vars [ 'users' ]; 나는 그것을 추출 할 수있는 방법을 찾고 있는데, $ this-> controller_vars [users ']에 단순한 $ users로 접근 할 수있다.
이 OpenCart의 코드인가? – Pacerier