次のURLがあります。
これらのURLからコントローラー名、アクション名を取得する方法。私はCodeIgniterの初心者です。この情報を取得するヘルパー関数はありますか
例:
$params = helper_function( current_url() )
どこの$paramsようなものになります
array (
  'controller' => 'system/settings', 
  'action' => 'edit', 
  '...'=>'...'
)
          次のURLがあります。
これらのURLからコントローラー名、アクション名を取得する方法。私はCodeIgniterの初心者です。この情報を取得するヘルパー関数はありますか
例:
$params = helper_function( current_url() )
どこの$paramsようなものになります
array (
  'controller' => 'system/settings', 
  'action' => 'edit', 
  '...'=>'...'
)
          回答:
あなたはURIクラスを使うことができます:
$this->uri->segment(n); // n=1 for controller, n=2 for method, etc
また、次のように動作するように言われましたが、現在はテストできません。
$this->router->fetch_class();
$this->router->fetch_method();
              URIセグメントを使用する代わりに、これを行う必要があります。
$this->router->fetch_class(); // class = controller
$this->router->fetch_method();
こうすることで、ルーティングされたURLの背後やサブドメインなどにいる場合でも、常に正しい値を使用していることがわかります。
modules::run('module/controller/action')。ロードされたページのルーター情報を表示するだけです。これを克服する方法はありますか?
                    $this->router、コードが実行されるクラスは返されますが、オーバーライドでマスクされた実際のルーターは返されません。どちらの回答も、やりたいことに基づいて非常に役立ちます。
                    $this->router->classと   $this->router->methodの代わりに
                    メソッドは非推奨です。
$this->router->fetch_class();
$this->router->fetch_method();
代わりにプロパティにアクセスできます。
$this->router->class;
$this->router->method;
URIルーティングメソッドfetch_directory()、fetch_class()、fetch_method()
プロパティで
CI_Router::$directory、CI_Router::$classしCI_Router::$methodて、パブリックになり、それぞれfetch_*()がプロパティを返すために他に何もしなくなりました。それらを保持することは意味がありません。これらはすべて内部の文書化されていないメソッドですが、念のため後方互換性を維持するために、現時点では非推奨にしています。それらの一部を利用している場合は、代わりにプロパティにアクセスできます。
$this->router->directory; $this->router->class; $this->router->method;
別の方法
$this->router->class
              追加として
$this -> router -> fetch_module(); //Module Name if you are using HMVC Component
              fetch_module()呼び出しは、CI 2.1.2では機能しません。/system/router.phpファイルで見つかりません。
                    更新
回答は2015年に追加され、次のメソッドは現在廃止されています
$this->router->fetch_class();  in favour of  $this->router->class; 
$this->router->fetch_method(); in favour of  $this->router->method;
こんにちは、次のアプローチを使用する必要があります
$this->router->fetch_class(); // class = controller
$this->router->fetch_method(); // action
この目的のためですが、これを使用するには、フックを拡張する必要がありCI_Controller、魅力のように機能します。URIセグメントを使用しないでください。
コントローラクラスが機能していません。
次のスクリプトを使用することをお勧めします
global $argv;
if(is_array($argv)){
    $action = $argv[1];
    $method = $argv[2];
}else{
    $request_uri = $_SERVER['REQUEST_URI'];
    $pattern = "/.*?\/index\.php\/(.*?)\/(.*?)$/";
    preg_match($pattern, $request_uri, $params);
    $action = $params[1];
    $method = $params[2];
}