gpt4 book ai didi

php - Laravel 4 动态路由 - 矫枉过正?

转载 作者:行者123 更新时间:2023-12-02 04:43:00 24 4
gpt4 key购买 nike

我们正在建立一个我们可以使用的 Laravel 4 基础项目。我想创建一个默认路由规则,让开发人员可以轻松地创建新页面,而不必担心向 Controller 添加路由,但可以为任何更复杂的路由/ Controller 添加其他路由。

我创建了以下路由规则,但我想知道它是否矫枉过正。我自己是 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' => '[^?$]+'
));

最佳答案

如果您有大约 5 条路线,那么这样做就没有多大意义,但是如果您有很多路线将遵循这种模式,那么这样做就很有意义。只需确保测试您的代码,这样它就不会在生产中中断。

顺便说一句,.NET MVC 映射默认路由的方式与您的操作方式非常相似,这使得它非常方便,因为您不必手动映射每条路由。所以我想这是完全正常的。

关于php - Laravel 4 动态路由 - 矫枉过正?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20418922/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com