2011-01-06 10 views
0

コントローラのルートを作成する際に問題が発生しました。KO3ディレクトリを使用したルーティング

私はディレクトリ内のコントローラを整理したいと思います。コントローラをユーザーディレクトリに配置したいと思います。しかし私はそれにアクセスする方法を知らない。

127.0.0.1/login/indexがあります。これはこのようになります。127.0.0.1/users/loginコントローラをユーザーディレクトリに移動しましたが、私のルートが正しく動作するように強制する方法はありません。ルート後

が動作していません。

Route::set('users', 'users(/<controller>(/<action>))') 
    ->defaults(array(
     'controller' => 'login', 
     'action'  => 'index', 
    )); 
+0

なぜあなたは設定から​​それを必要としないときにも経路を使用していますか?あなたのコントローラはすでに 'user'フォルダにあります –

答えて

1

ルートは、それを使用し、directoryのparamを持っています

Route::set('users', 'users(/<controller>(/<action>))') 
    ->defaults(array(
     'directory' => 'users', 
     'controller' => 'login', 
     'action'  => 'index', 
    )); 

また、あなたは、動的経路のparamとしてディレクトリを渡すことができます。

Route::set('users', '<directory>(/<controller>(/<action>))') 
    ->defaults(array(
     'controller' => 'login', 
     'action'  => 'index', 
    )); 

ここでは、デフォルトのディレクトリ値は必要ないため、必要ありません。 regex(Route :: set()メソッドの3番目の引数)を使用して値の範囲を設定できます。

PS。私は、アカウントアクションの短いルートを好き:

Route::set('users', '<action>', array('action' => '(login|logout|register)')) 
     ->defaults(array(
      'controller' => 'account', 
     )); 

ので、http://example.com/loginhttp://example.com/logoutが動作します。

+0

大きな説明!今私は初めてKO3のルートを理解しています。ありがとう! –

関連する問題