gpt4 book ai didi

php - 在这种情况下,为什么 route() 在 Laravel 上有效?

转载 作者:行者123 更新时间:2023-11-29 02:39:53 25 4
gpt4 key购买 nike

这是我的环境-> Laravel 5.7, PHP 7.1, Mysql 5.7

我是 Laravel 的新手。我使用make:auth 命令来使用身份验证系统,然后login.blade.php 由它生成。在 login.blade.php 中,这一行是默认的。

<form method="POST" action="{{ route('login') }}">

按照规则,我试图在route:list中找到loginName,但奇怪的是没有这样的Name。

| Domain | Method    | URI                    | Name             | Action                                                                 | Middleware   |
+--------+-----------+------------------------+------------------+------------------------------------------------------------------------+--------------+
| | POST | login | | App\Http\Controllers\Auth\LoginController@login | web,guest |
| | GET|HEAD | login | login | App\Http\Controllers\Auth\LoginController@showLoginForm | web,guest |

它应该在 POST 方法的记录中,因为根据 form,它是 POST 方法,对吗?即使 route:list 中没有 Name,此应用程序仍能以某种方式工作。

我放上了 Router.php 以防万一。

public function auth(array $options = [])
{
// Authentication Routes...
$this->get('login', 'Auth\LoginController@showLoginForm')->name('login');
$this->post('login', 'Auth\LoginController@login');
$this->post('logout', 'Auth\LoginController@logout')->name('logout');

// Registration Routes...
if ($options['register'] ?? true) {
$this->get('register', 'Auth\RegisterController@showRegistrationForm')->name('register');
$this->post('register', 'Auth\RegisterController@register');
}

// Password Reset Routes...
if ($options['reset'] ?? true) {
$this->resetPassword();
}

// Email Verification Routes...
if ($options['verify'] ?? false) {
$this->emailVerification();
}
}

你能帮帮我吗?我期待着你回答这个问题。谢谢。

最佳答案

命名路由 在这里只是为了方便生成 URL。所以命名路由只是为了方便代码维护,不是强制

您必须记住,命名仅指路由声明的 URI 部分,没有方法定义

因此,用相同的 URI 和不同的 method 命名两个路由声明是多余的,因为您必须给它们相同的名称。如果您不提供相同的名称,您将拥有两个具有相同 URL 构造函数的命名路由。

这就是为什么您会看到这样的代码:

$this->get('login', 'Auth\LoginController@showLoginForm')->name('login');
$this->post('login', 'Auth\LoginController@login');

第二行不需要需要一个名字,因为它已经有了第一行的名字。

关于php - 在这种情况下,为什么 route() 在 Laravel 上有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54922005/

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