Fai*_*ith 2 php authentication laravel
我正在尝试laravel 5.1并根据文档我添加了这些路线:
Route :: get('auth/login','Auth\AuthController @ getLogin');
Route :: post('auth/login','Auth\AuthController @ postLogin');
Route :: get('auth/logout','Auth\AuthController @ getLogout');
注册路线......
Route :: get('auth/register','Auth\AuthController @ getRegister');
我在auth文件夹下创建了两个简单的视图: login.blade.php register.blade.php
它工作了!但是当我打开AuthController类时,我找不到getlogin()或getregister()或其他方法只有验证器和创建方法,那么getlogin(),getregister(),postlogin()等等在哪里呢?
该AuthController可能看起来像下面这样:
class AuthController extends Controller
{
// Truncated some content ...
use AuthenticatesAndRegistersUsers; // Using the trait
// Truncated some content ...
}
Run Code Online (Sandbox Code Playgroud)
这Illuminate\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;
}
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,AuthenticatesUsers和RegistersUsers性状包含用于登录和注册的方法.您可以在以下位置找到这些特征Illuminate/Foundation/Auth,例如AuthenticatesUsers包含以下方法(包括其他方法):
public function getLogin()
{
return view('auth.login');
}
Run Code Online (Sandbox Code Playgroud)
还有其他可用的方法,检查那些以澄清您的理解.还要检查PHP性状的PHP手册,如果你不熟悉traits在PHP.