Controller method not found - laravel 4
laravel-4, php, routes
Solution
Try to change order of route registration
Route::controller("users","UsersController");
Route::controller("/","HomeController");
Problem
I have this message whine trying to run any controller Symfony \ Component \ HttpKernel \ Exception \ NotFoundHttpException Controller method not found. I have this Code in my Route file ``` Route::controller("/","HomeController"); Route::controller("users","UsersController"); ``` and this code in my Controller ``` <?php class UsersController extends BaseController { protected $layout = "layouts.main"; public function __construct() { $this->beforeFilter('csrf', array('on' => 'post')); $this->beforeFilter('auth', array('only' => array('getDashboard'))); } public function getIndex() { return Redirect::to("users/register"); } public function getRegister() { $this->layout->content = View::make('users.register'); } public function postCreate() { $validator = Validator::make(Input::all(), User::$rules); if ($validator->passes()) { // validation has passed, save user in DB $user = new User; $user->firstname = Input::get('firstname'); $user->lastname = Input::get('lastname'); $user->email = Input::get('email'); $user->password = Hash::make(Input::get('password')); $user->save(); return Redirect::to('users/login')->with('message', 'Thanks for registering!'); } else { return Redirect::to('users/register')->with('message', 'The following errors occurred')->withErrors($validator)->withInput(); } } function getLogin() { if (Auth::check()) return Redirect::to("users/dashboard")->with('message', 'Thanks for registering!'); $this->layout->content = View::make("users.login"); } function postSignin() { if (Auth::attempt(array('email' => Input::get('email'), 'password' => Input::get('password')))) { return Redirect::to('users/dashboard')->with('message', 'You are now logged in!'); } else { return Redirect::to('users/login') ->with('message', 'Your username/password combination was incorrect') ->withInput(); } } public function getDashboard() { $this->layout->content = View::make("users.dashbord"); } public function getLogout() { Auth::logout(); return Redirect::to('users/login')->with('message', 'Your are now logged out!'); } ``` Whine I run this Command ``` php artisan routes ``` ``` +--------+------------------------------------------------------------+------+-------------------------------+----------------+---------------+ | Domain | URI | Name | Action | Before Filters | After Filters | +--------+------------------------------------------------------------+------+-------------------------------+----------------+---------------+ | | GET index/{one?}/{two?}/{three?}/{four?}/{five?} | | HomeController@getIndex | | | | | GET / | | HomeController@getIndex | | | | | GET {_missing} | | HomeController@missingMethod | | | | | GET users/index/{one?}/{two?}/{three?}/{four?}/{five?} | | UsersController@getIndex | | | | | GET users | | UsersController@getIndex | | | | | GET users/register/{one?}/{two?}/{three?}/{four?}/{five?} | | UsersController@getRegister | | | | | POST users/create/{one?}/{two?}/{three?}/{four?}/{five?} | | UsersController@postCreate | | | | | GET users/login/{one?}/{two?}/{three?}/{four?}/{five?} | | UsersController@getLogin | | | | | POST users/signin/{one?}/{two?}/{three?}/{four?}/{five?} | | UsersController@postSignin | | | | | GET users/dashboard/{one?}/{two?}/{three?}/{four?}/{five?} | | UsersController@getDashboard | | | | | GET users/logout/{one?}/{two?}/{three?}/{four?}/{five?} | | UsersController@getLogout | | | | | GET users/{_missing} | | UsersController@missingMethod | | | +--------+------------------------------------------------------------+------+-------------------------------+----------------+---------------+ ``` whine i trying to access to `localhost:8000/users/login` or any method in any controller this message appear ``` Symfony \ Component \ HttpKernel \ Exception \ NotFoundHttpException Controller method not found. ```