当前位置: 首页 > 知识库问答 >
问题:

laravel 5.1 authlogin这些控制器方法在哪里?

邴俊达
2023-03-14

我正在尝试laravel 5.1,根据文档,我添加了这些路线:

>

  • e::获取('auth/log','auth\AuthController@getLogin');

    路由::post('auth/login','auth\AuthController@postLogin');

    路由::get('auth/logout','auth\AuthController@getLogout');

    注册路线...

    路由e::获取('auth/寄存器','auth\AuthController@getRegister');

    我在auth文件夹下创建了两个简单视图:login。刀身php寄存器。刀身php

    成功了!但当我打开AuthController类时,我找不到getlogin()或getregister()或其他仅用于验证程序和创建方法的方法,所以那些getlogin()、getregister()和postlogin()在哪里。。等

  • 共有3个答案

    戚宏扬
    2023-03-14

    所有与身份验证相关的控制器都存储在Laravel中:

    vendor\laravel\framework\src\Illuminate\Foundation\Auth
    

    ThrottlesLogins.php仅在Laravel 5.1中可用)

    危裕
    2023-03-14

    如果您查看AuthController的顶部。php,您会发现这一行:

    use Illuminate\Foundation\Auth\AuthenticatesAndRegistersUsers;
    

    就在课程开始时,你会发现:

     use AuthenticatesAndRegistersUsers, ThrottlesLogins;
    

    我们可以忽略ThrottlesLogins,因为这会做其他事情(确保机器人不会自动尝试强行进入您的系统)。查看illumb\Foundation\Auth\AuthenticatesAndRegistersUsers的内容,这是整个文件:

    <?php
    
    namespace Illuminate\Foundation\Auth;
    
    trait AuthenticatesAndRegistersUsers
    {
        use AuthenticatesUsers, RegistersUsers {
            AuthenticatesUsers::redirectPath insteadof RegistersUsers;
        }
    }
    

    这两个特性,AuthenticatesUsersRegistersUsers,是AuthController实现的特性,因此它可以使用其中定义的所有方法。

    例如,getLogin()方法是AuthenticatesUserstrait中的第一个方法。

    南门承教
    2023-03-14

    AuthController的外观可能如下所示:

    class AuthController extends Controller
    {
        // Truncated some content ...
    
        use AuthenticatesAndRegistersUsers; // Using the trait
    
        // Truncated some content ...
    }
    

    Lightning\Foundation\Auth\AuthenticatesAndRegistersUsers是一个特征,AuthController使用(使用AuthenticatesAndRegistersUsers)此特征,此特征使用两个其他特征,即AuthenticatesUsersRegistersUsers,请检查AuthenticatesAndRegistersUsers特征:

    // Illuminate/Foundation/Auth/AuthenticatesAndRegistersUsers.php
    trait AuthenticatesAndRegistersUsers
    {
        use AuthenticatesUsers, RegistersUsers { // These traits contains the methods
            AuthenticatesUsers::redirectPath insteadof RegistersUsers;
        }
    }
    

    在本例中,AuthenticatesUsersRegistersUsers特征包含用于登录和注册的方法。您可以在illible/Foundation/Auth中找到这些特性,例如AuthenticatesUsers包含以下方法(包括其他方法):

    public function getLogin()
    {
        return view('auth.login');
    }
    

    还有其他可用的方法,检查那些来澄清你的理解。如果你不熟悉PHP中的特性,也可以在PHP手册中查看PHP特性。

     类似资料:
    • 问题内容: 为什么无法从另一个内部访问其他控制器方法呢? 像这样。 已编译 如果您不能这样做,那为什么不呢?我还应该怎么做… 问题答案: 最近几个小时遇到相同的问题。我使用了api / services文件夹。它可能不完全是您所需要的,但是它是一个选择。

    • 问题内容: 我想在控制器中调用视图方法,但我不知道如何:)我寻求类似的示例,但没有找到它。我可以在这段代码中这样做吗?我是否必须重新构建?我使用javafx和fxml技术(来构建用户界面)。 我的视图文件(它具有gotoRegister()和gotoLogin()方法(我想调用它们)) 我的控制器(在这里我想调用gotoRegister()方法) 我的问题:我可以调用gotoRegister吗?或

    • 本文向大家介绍Java中对方法重载有哪些限制?,包括了Java中对方法重载有哪些限制?的使用技巧和注意事项,需要的朋友参考一下 当一个类具有两个或多个具有相同名称但参数不同的方法时,在基于传递的参数进行调用时,将调用相应的方法(或相应的方法主体将与调用行动态绑定)。这种机制称为方法重载。 示例 输出结果 方法重载应遵循的规则 超载时,您需要牢记以下几点: 两种方法应在同一类中。 方法的名称应相同,

    • 硒的功能在哪里? 我在某个地方读到,语言绑定或API提供了胶水代码,以便在Java中使用Selenium。 胶合代码或绑定代码:连接不兼容的软件组件的代码。 null

    • 我有看起来像这样的RestController: 我想知道如何将模拟对象传递给其他Controller,后者可以处理数据并将其保存到其他存储库。例如,它可以如下所示: 但我知道这种做法是不允许的。有什么办法可以做到这一点?

    • 为什么我不能更改方法的名称或在现有的控制器中添加一个新方法?或者我应该说,我如何才能添加一个方法,并让它大摇大摆地展示出来?