【发布时间】:2013-12-23 12:15:10
【问题描述】:
我们正在建立一个可以处理的 Laravel 4 基础项目。我想创建一个默认路由规则,让开发人员可以轻松地打开新页面,而不必担心向控制器添加路由,而是可以为任何更复杂的路由/控制器添加其他路由。
我创建了以下路由规则,但我想知道它是否有点矫枉过正。我自己对 Laravel 很陌生,所以我不确定我是否会以错误的方式处理这个问题,所以我想我会发布它并获得一些反馈。
Route::any('{controller}/{action?}/{args?}', function($controller, $action = 'index', $args = '')
{
$cont = "Controller";
$notFound = "NotFound";
$params = explode("/", $args);
$app = app();
if (!class_exists($controller.$cont) || !function_exists($contName.$cont.".".$action)) {
$controller = $notFound;
$action = 'index';
}
$controller = $app->make($controller.$cont);
return $controller->callAction($app, $app['router'], $action, $params);
})
->where(array(
'controller' => '[^/]+',
'action' => '[^/]+',
'args' => '[^?$]+'
));
【问题讨论】:
-
请手动编写每条路线,直到您开始这样做,您才会意识到它的好处。
-
我认为您在这里概述的内容绝对是矫枉过正。添加另一条路线并不难,这样做有很多好处。