php - Routes don't work correctly at Laravel 5.0 (404 Error) -
i switched laravel 5.0 , try introduce myself.
i have small problem confuses me:
i use 2 controller classes. first works fine second 1 gets ignored. tell me why?
routes.php
<?php route::controller('/', 'indexcontroller'); route::controller('/rezeptliste', 'recipelistcontroller'); indexcontroller.php
<?php namespace app\http\controllers; class indexcontroller extends controller { public function getindex() { return view('index'); } } recipelistcontroller
<?php namespace app\http\controllers; class recipelistcontroller extends controller { public function getindex() { return view('recipelist'); } } when access / works perfectly. when try access /rezeptliste following error:
notfoundhttpexception in controller.php line 259: controller method not found. in controller.php line 259 @ controller->missingmethod('rezeptliste') @ call_user_func_array(array(object(indexcontroller), 'missingmethod'), array('_missing' => 'rezeptliste')) in controller.php line 246 @ controller->callaction('missingmethod', array('_missing' => 'rezeptliste')) in controllerdispatcher.php line 162 @ controllerdispatcher->call(object(indexcontroller), object(route), 'missingmethod') in controllerdispatcher.php line 107 @ controllerdispatcher->illuminate\routing\{closure}(object(request)) @ call_user_func(object(closure), object(request)) in pipeline.php line 141 @ pipeline->illuminate\pipeline\{closure}(object(request)) @ call_user_func(object(closure), object(request)) in pipeline.php line 101 @ pipeline->then(object(closure)) in controllerdispatcher.php line 108 @ controllerdispatcher->callwithinstack(object(indexcontroller), object(route), object(request), 'missingmethod') in controllerdispatcher.php line 67 @ controllerdispatcher->dispatch(object(route), object(request), 'app\http\controllers\indexcontroller', 'missingmethod') in route.php line 204 @ route->runwithcustomdispatcher(object(request)) in route.php line 134 @ route->run(object(request)) in router.php line 701 @ router->illuminate\routing\{closure}(object(request)) @ call_user_func(object(closure), object(request)) in pipeline.php line 141 @ pipeline->illuminate\pipeline\{closure}(object(request)) @ call_user_func(object(closure), object(request)) in pipeline.php line 101 @ pipeline->then(object(closure)) in router.php line 703 @ router->runroutewithinstack(object(route), object(request)) in router.php line 670 @ router->dispatchtoroute(object(request)) in router.php line 628 @ router->dispatch(object(request)) in kernel.php line 214 @ kernel->illuminate\foundation\http\{closure}(object(request)) @ call_user_func(object(closure), object(request)) in pipeline.php line 141 @ pipeline->illuminate\pipeline\{closure}(object(request)) in verifycsrftoken.php line 43 @ verifycsrftoken->handle(object(request), object(closure)) in verifycsrftoken.php line 17 @ verifycsrftoken->handle(object(request), object(closure)) in pipeline.php line 125 @ pipeline->illuminate\pipeline\{closure}(object(request)) in shareerrorsfromsession.php line 55 @ shareerrorsfromsession->handle(object(request), object(closure)) in pipeline.php line 125 @ pipeline->illuminate\pipeline\{closure}(object(request)) in startsession.php line 61 @ startsession->handle(object(request), object(closure)) in pipeline.php line 125 @ pipeline->illuminate\pipeline\{closure}(object(request)) in addqueuedcookiestoresponse.php line 36 @ addqueuedcookiestoresponse->handle(object(request), object(closure)) in pipeline.php line 125 @ pipeline->illuminate\pipeline\{closure}(object(request)) in encryptcookies.php line 40 @ encryptcookies->handle(object(request), object(closure)) in pipeline.php line 125 @ pipeline->illuminate\pipeline\{closure}(object(request)) in checkformaintenancemode.php line 42 @ checkformaintenancemode->handle(object(request), object(closure)) in pipeline.php line 125 @ pipeline->illuminate\pipeline\{closure}(object(request)) @ call_user_func(object(closure), object(request)) in pipeline.php line 101 @ pipeline->then(object(closure)) in kernel.php line 115 @ kernel->sendrequestthroughrouter(object(request)) in kernel.php line 84 @ kernel->handle(object(request)) in index.php line 53
the problem here in laravel routes evaluated in order listed.
this means since first route '/' matches route /rezeptliste too, laravel instead go indexcontroller , method called "rezeptliste".
instead routes should ordered this:
<?php route::controller('/rezeptliste', 'recipelistcontroller'); route::controller('/', 'indexcontroller'); that way specialized url of /rezeptliste "caught" first , sent recipelistcontroller, rather being caught indexcontroller route.
Comments
Post a Comment