【问题标题】:What is the difference between those routes?这些路线有什么区别?
【发布时间】:2019-10-08 05:42:40
【问题描述】:

我为更新配置文件逻辑定义路由,当我使用第一个逻辑时它不起作用,但使用第二个逻辑工作正常。所以我不知道它们之间有什么区别。

1. Route::post('/profile', 'ProfileController@update');
2. Route::post('/profile', 'ProfileController@update')->name('profile');

【问题讨论】:

    标签: laravel routes laravel-5.7


    【解决方案1】:

    他们之间唯一的区别,名字, 因此,如果您输入类似{{ route('profile') }} 的表单操作,您的意思是:转到具有名称配置文件的路由。

    阅读this了解更多详情。

    【讨论】:

    • 这就是我想要的。我在表格中使用了路线。谢谢,@Eyad Jaabo
    【解决方案2】:

    名称为Route::post('/profile', 'ProfileController@update')->name('profile');的路由

    可以使用{{route('profile')}}在刀片中访问

    而另一个只能使用 url() 访问。例如

    {{url('/profile')}}
    

    【讨论】:

      【解决方案3】:

      第二个是“命名路线”。它允许您通过名称引用您的路线。

      Laravel 5.7 Docs - Routing - Named Routes

      【讨论】:

        【解决方案4】:

        明显的区别是添加了“->name('profile')”命名路由到你的第二行。你已经用 laravel-5.7 标记了这篇文章,所以我已经链接了这个版本的文档:https://laravel.com/docs/5.7/routing#named-routes

        在我看来,也许您在 ProfileController 的更新功能中有一些逻辑,如下所示:

        if ($request->route()->named('profile')) {
            //
        }
        

        这会改变请求的结果。希望这会有所帮助,最好的问候。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-06-28
          • 1970-01-01
          • 2013-01-16
          • 1970-01-01
          • 1970-01-01
          • 2018-08-25
          • 2012-09-27
          相关资源
          最近更新 更多