【发布时间】:2015-05-05 04:34:04
【问题描述】:
我想防止在 Laravel route.php 中写入所有路由,实际上我像这样 www.example.com/controller/action/p1/p2/p3 遵循 MVC 路由 如果你有什么好主意给我, 我写了这个
$controller = ucfirst(Request::segment(1));
$controller = $controller . 'Controller';
$result=App::make('indexController')->ChechIfExistController($controller);
if($result){
if(Request::segment(2))
$action=Request::segment(2);
else
$action='index';
if(Request::segment(5))
Route::any('/{controller?}/{action?}/{p1?}/{p2?}/{p3?}',array('uses'=>$controller.'@'.$action));
else if(Request::segment(4))
Route::any('/{controller?}/{action?}/{p1?}/{p2?}',array('uses'=>$controller.'@'.$action));
else if(Request::segment(3))
Route::any('/{controller?}/{action?}/{p1?}',array('uses'=>$controller.'@'.$action));
else
Route::any('/{controller?}/{action?}',array('uses'=>$controller.'@'.$action));
} else{
echo '404';
EXIT;
}
但我不知道如何控制和检查 laravel 中的控制器和动作以了解它是否存在。 我需要你的帮助。 非常感谢。
我找到了,这段代码解决了问题并检查动作是否存在,但我想用 laravel 来做,但似乎 laravel 没有任何检查控制器和动作的东西
$controller=='Controller'?$controller='IndexController':$controller;
$controllers=new $controller ();
if(method_exists($controllers,$action)){...}
在作曲家中定义我的路线, 就是这样
【问题讨论】:
-
我不确定,但
Resource Controllers可能会帮助你。 -
谢谢,但它没有帮助,如果你有任何关于它的例子可能会有所帮助,再次感谢
标签: php laravel model-view-controller routes