내 컨트롤러가있다 ... 나는 URL을 입력하면Kohana 3의 컨트롤러의 before() 메소드에서 동작을 얻을 수 있습니까?
class Controller_Staff extends Controller {
public function before() {
parent::before();
$id = $this->request->param('id');
$action = $this->request->param('action');
}
public function action_get($id) {
var_dump($id);
}
}
내 경로는 ...
Route::set('a', 'bla/<action>/<id>',
array('id' => '\d+', 'action' => '(get|set)'))
->defaults(array(
'controller' => 'staff',
'action' => 'set'
));
Controller_Staff->before()
(action_get()
를 호출하기 전에)를 호출 (bla/get/42
), 나는에 $id
에 액세스 할 수 있습니다 before()
이지만, $action
은 항상 NULL
입니다.
before()
방법으로 현재 $action
에 액세스하는 더 좋은 방법이 있습니까?
감사합니다.
간단한 컨트롤러에서 before() 메서드를 호출하고 있습니까? 템플릿 하나에서만 존재한다고 생각하지 않습니까? – yoda
@yoda 나는 그렇게 생각하지 않았다. 모든 액션에 대해 실행되는 코드를 배치하고자 했으므로이를 배치하는 것이 좋은 것처럼 보였습니다. – alex
흠 .. before()와 after() 메소드가 controller_template에 속해 있다고 생각하고 (IRC에서) 들었습니다. 감사합니다. – yoda