我正在尝试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()在哪里。。等
所有与身份验证相关的控制器都存储在Laravel中:
vendor\laravel\framework\src\Illuminate\Foundation\Auth
(ThrottlesLogins.php
仅在Laravel 5.1中可用)
如果您查看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;
}
}
这两个特性,AuthenticatesUsers
和RegistersUsers
,是AuthController实现的特性,因此它可以使用其中定义的所有方法。
例如,getLogin()
方法是AuthenticatesUsers
trait中的第一个方法。
AuthController
的外观可能如下所示:
class AuthController extends Controller
{
// Truncated some content ...
use AuthenticatesAndRegistersUsers; // Using the trait
// Truncated some content ...
}
Lightning\Foundation\Auth\AuthenticatesAndRegistersUsers
是一个特征,AuthController
使用(使用AuthenticatesAndRegistersUsers)此特征,此特征使用两个其他特征,即AuthenticatesUsers
和RegistersUsers
,请检查AuthenticatesAndRegistersUsers
特征:
// Illuminate/Foundation/Auth/AuthenticatesAndRegistersUsers.php
trait AuthenticatesAndRegistersUsers
{
use AuthenticatesUsers, RegistersUsers { // These traits contains the methods
AuthenticatesUsers::redirectPath insteadof RegistersUsers;
}
}
在本例中,AuthenticatesUsers
和RegistersUsers
特征包含用于登录和注册的方法。您可以在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,后者可以处理数据并将其保存到其他存储库。例如,它可以如下所示: 但我知道这种做法是不允许的。有什么办法可以做到这一点?
为什么我不能更改方法的名称或在现有的控制器中添加一个新方法?或者我应该说,我如何才能添加一个方法,并让它大摇大摆地展示出来?