0

私はこのようなルーティングを使用しています

$route['Advertisement/1.0/(:any)']="v1/$1";

$route['Advertisement/1.1/(:any)']="v1_1/$1";

最終的にはどちらも同じ作業を行いますが、応答が同じであるため、両方を維持する必要があります。

私が知りたいのは、どのコントローラーが URL を使用して呼び出されているかを知る方法です。URL を知ると、それに応じて応答が変更されるため、2 つのコントローラーを維持する必要はありません。

1.0 or 1.1

私が尋ねようとしていることを理解していただければ幸いです。

前もって感謝します。

4

3 に答える 3

1

Codeigniter のUser Guideによると、ヒットした URL を知りたい場合は、次を使用します。

$uri_segments = $this->uri->uri_string();

URI セグメントを取得するには.

current_url() また、 URL ヘルパーを使用して完全な URL (セグメントを含む) を取得することもできます。それを行うには:

// Load URL helper first (or use autoload config)
$this->load->helper('url');

// Get the current full URL
$url = current_url();

また、URI の特定のセグメントを取得する場合は、次を使用します。

// "n" is the segment number you wish to retrieve,
// in this case, n = 2 gets '1.0' or '1.1'
$segment = $this->uri->segment(n);
于 2013-07-17T08:16:41.593 に答える
0

私の理解が正しければ、次の CI 関数を使用して、コントローラー名とメソッド名を取得できます。

$this->router->fetch_class();  // to get controller
$this->router->fetch_method(); // to get method
于 2013-07-17T06:41:18.527 に答える