2011-01-06 6 views
0

Haben Sie ein Problem beim Erstellen der Route für meinen Controller.KO3 Routing mit Verzeichnis

Ich würde gerne Controller in Verzeichnissen organisieren und ich setze einen Controller in Benutzerverzeichnis. Ich habe jedoch keine Ahnung, wie ich darauf zugreifen kann.

Es gibt 127.0.0.1/login/index und ich möchte, dass es so aussieht 127.0.0.1/users/login. Ich habe den Controller in das Benutzerverzeichnis verschoben, habe aber keine Ahnung, wie ich meine Route richtig arbeiten lassen kann.

Nach Route nicht funktioniert:

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

Warum verwenden Sie immer noch die Routen, wenn Sie sie nicht von Ihrem Setup benötigen? Ihr Controller befindet sich bereits im Ordner 'user' –

Antwort

1

Strecke hat eine directory param, verwenden Sie es:

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

Sie können auch Verzeichnis als dynamische Routen param passieren:

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

Hier benötigen wir keinen Standardverzeichniswert, da dies erforderlich ist. Sie können den Wertebereich mit Regex (dritter Arg in Route :: set() -Methode) festlegen.

PS. Ich mag kurze Wege für Kontoaktionen:

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

So http://example.com/login und http://example.com/logout arbeiten.

+0

Tolle Erklärung! Jetzt verstehe ich KO3-Routen zum ersten Mal. Vielen Dank! –