gpt4 book ai didi

php - 资源 Controller 的 Laravel 命名路由

转载 作者:IT王子 更新时间:2023-10-29 00:53:02 25 4
gpt4 key购买 nike

使用 Laravel 4.2,是否可以为资源 Controller 路由分配名称?我的路由定义如下:

Route::resource('faq', 'ProductFaqController');

我尝试像这样向路由添加名称选项:

Route::resource('faq', 'ProductFaqController', array("as"=>"faq"));

但是,当我点击/faq 路由并在我的 View 中放置 {{ Route::currentRouteName() }} 时,它会生成 faq.faq.index只是常见问题解答

最佳答案

当您使用资源 Controller 路由时,它会自动为它创建的每个单独路由生成名称。 Route::resource() 基本上是一个辅助方法,然后为您生成单独的路由,而不是您需要手动定义每个路由。

您可以通过在 Laravel 4 中键入 php artisan routes 或在 Laravel 5 中键入 php artisan route:list 到您的终端/控制台来查看生成的路由名称。您还可以在资源 Controller 文档页面 ( Laravel 4.x | Laravel 5.x ) 上查看生成的路由名称类型。

有两种方法可以修改资源 Controller 生成的路由名称:

  1. 提供一个 names 数组作为第三个参数 $options 数组的一部分,每个键都是资源 Controller 方法(索引、存储、编辑等) .), 值是你想给路由的名称。

    Route::resource('faq', 'ProductFaqController', [
    'names' => [
    'index' => 'faq',
    'store' => 'faq.new',
    // etc...
    ]
    ]);
  2. 指定 as 选项为每个路由名称定义前缀。

    Route::resource('faq', 'ProductFaqController', [
    'as' => 'prefix'
    ]);

    这将为您提供诸如 prefix.faq.indexprefix.faq.store 等路径

关于php - 资源 Controller 的 Laravel 命名路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25290229/

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