2013-05-29 13 views
8

ich versuche, von code igniter zu laravel zu wechseln, aber ich bemerkte in jedem tutorial, das ich gefolgt war, deklarieren wir die route.php in laravel immer anders als im code-zünder, dass es ein standard routing hat wie http://localhost/projname/controller/method. Gibt es eine Möglichkeit, ein Auto-Routing wie CI zu haben, oder ich etwas in Laravel-Routing-Regeln verpasst haben? Das ist sehr wichtig, weil wir alle wissen, dass große Websites mehr als 50 Links haben und es wird eine Hektik sein, wenn wir deklarieren die alle in routes.php in Laravel.laravel routing wie code zünder

Antwort

8

Gibt es eine Möglichkeit, eine automatische Routing wie CI haben

Warum ja, es gibt. In Ihrer Route Datei tun Route::controller(Controller::detect());

Jetzt in Ihrer Controller-Klasse sicherstellen, dass jeder Funktionsname mit action_ verkettet ist. macht homepage() dann also, wenn Ihr Funktionsname ist es action_homepage()

Beachten Sie, dass Sie erholsamen Controller Namen get_homepage() und post_homepage() verwenden können. Aber Sie müssen diese Klassenvariable in Ihrem Controller deklarieren public static $restful = true;

+1

Route :: Controller (Controller :: detect()); Diese Funktion wurde in Laravel 4 aufgrund von inkonsistentem Verhalten bei verschiedenen Dateisystemen entfernt. Die richtige Methode zum Registrieren von Controllern sollte darin bestehen, explizit jeden zu definieren, den Sie in Ihrer routes-Datei verwenden möchten. –

+1

Laravel 5 hat wieder die Option "Route :: controller()". http://laravel.com/docs/5.0/controller#implicit-controllers – user2094178