post_controller_constructor
アプリがフックを使用して受信したリクエストをログに記録したいと思います。
以下のフックのコードは、私が必要とするものを示しています。
public function log() {
$controller = $this->router->fetch_class();
$action = $this->router->fetch_method();
$post_params = $this->input->post();
$get_params = $this->input->get();
$url_params = ???;
...
$this->log_model->log($id_user, $controller, $action, time(), $post_params, $get_params, $url_params);
}
function __get($key){
$CI =& get_instance();
return $CI->$key;
}
私が見たものでは、ソリューションは「URI」クラスとそこから抽出されたセグメントに関連している必要があります。しかし、この例のように一部のコントローラーが他のコントローラーよりも深いため、このアプローチに頼ることはできません。
/folder/set_controllers/controller_a/action/(:any)
/folder/set_controllers/controller_a/action/7
の値は$url_params
ですarray('7')
。/folder/controller_b/action/(:any)/(:any)
/folder/controller_b/action/first_param/second_param/7
の値は$url_params
ですarray('first_param', 'second_param')
。/controller_c/action/(:any)
/controller_c/action/hello
の値は$url_params
ですarray('hello')
。
そして、私はどのような価値観$url_params
を持っているかを知る必要があります。
前もって感謝します。