1

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を持っているかを知る必要があります。

前もって感謝します。

4

1 に答える 1

3

おそらく、この質問の答えは、CodeIgniter を使用してコントローラー、アクション、URL 情報を取得する方法に役立つ可能性があります。多かれ少なかれ同じものを探しているようです。

于 2012-06-29T15:19:49.907 に答える