【问题标题】:Wildcard to route to a controller通配符路由到控制器
【发布时间】:2016-10-24 09:06:22
【问题描述】:

我是 Laravel 的新手,目前正在学习框架的路由功能。

我想知道是否有可能像我们对 ASP.NET 所做的那样,重定向到写在 URL 中的控制器。

实际上,做这样的事情:

<?php

Route::get('/{CustomController}/{Action}', function ($controller, $action) {
    return controller($controller, $action);
});

CustomController 是控制器,它将向视图 Action 运行请求

对于 ASP.NET Core,它类似于:

routes.MapRoute(
    name: "default",
    template: "{controller=Home}/{action=Index}");
});

【问题讨论】:

    标签: php asp.net laravel routes laravel-routing


    【解决方案1】:

    是的,laravel 中的路由格式如下:

    Route::get('/custom-controller', 'CustomController@index');
    

    如果您在控制器中使用标准方法名称,例如 index()store()

    您可以改用资源,它会自动构建您的所有路线:

    Route::resource('/my-route', 'CustomController');
    

    如果你随后执行php artisan route:list,你会看到 laravel 自动为你的控制器添加了所有标准路由。

    【讨论】:

    • 是的,但是……不。目标是为 X 控制器提供 1 条路由,其中​​控制器在 URL 中选择,并且可以用作路由模块的变量。
    • 据我所知,这不是 laravel 内置的功能,如果您需要该功能,则需要扩展路由器。
    猜你喜欢
    • 2013-05-19
    • 2013-12-19
    • 1970-01-01
    • 2013-05-21
    • 2013-01-30
    • 2015-11-16
    • 2013-10-21
    • 1970-01-01
    • 2023-03-10
    相关资源
    最近更新 更多