2015-07-18 90 views
2

我想laravel 5.1,並根據我的文檔添加這些路線:laravel 5.1 authlogin這些控制器方法在哪裏?

  • 路線::得到( 'auth /中登錄', '驗證\ AuthController @ getLogin');

  • Route :: post('auth/login','Auth \ AuthController @ postLogin');

  • Route :: get('auth/logout','Auth \ AuthController @ getLogout');

    註冊路線...

  • 路線::得到( 'auth /中註冊', '驗證\ AuthController @ getRegister');

  • Route :: post('auth/register','Auth \ AuthController @ postRegister');下AUTH文件夾

,我創建了兩個簡單的觀點: login.blade.php register.blade.php

和它的工作!但是當我打開AuthController類時,我無法找到getlogin()或getregister()或其他方法,只驗證和創建方法,那麼這些getlogin(),getregister(),postlogin()等等在哪裏?

回答

6

AuthController可能看起來像下面這樣:

class AuthController extends Controller 
{ 
    // Truncated some content ... 

    use AuthenticatesAndRegistersUsers; // Using the trait 

    // Truncated some content ... 
} 

Illuminate\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性狀包含用於登錄和註冊的方法。你可以在Illuminate/Foundation/Auth發現這些特質,例如AuthenticatesUsers包含以下方法(包括其他):

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

而且還有其他的方法,檢查這些澄清你的理解。如果您不熟悉PHP中的traits,請在PHP手冊上查詢PHP traits

0

所有相關認證控制器都存儲在這裏在Laravel:

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

enter image description here

ThrottlesLogins.php是avalable僅在Laravel 5.1)

2

如果你看看AuthController.php頂部,你會發現這條線:

use Illuminate\Foundation\Auth\AuthenticatesAndRegistersUsers; 

而就在類的開始,你會發現:

use AuthenticatesAndRegistersUsers, ThrottlesLogins; 

我們可以忽略ThrottlesLogins,因爲它做了其他事情(它確保機器人不能自動嘗試強制進入你的系統)。綜觀Illuminate\Foundation\Auth\AuthenticatesAndRegistersUsers的內容,這是整個文件:

<?php 

namespace Illuminate\Foundation\Auth; 

trait AuthenticatesAndRegistersUsers 
{ 
    use AuthenticatesUsers, RegistersUsers { 
     AuthenticatesUsers::redirectPath insteadof RegistersUsers; 
    } 
} 

這兩個,AuthenticatesUsersRegistersUsers,是由AuthController實現的,因此,它可以使用在其中定義的所有方法的特點。

例如,getLogin()方法是AuthenticatesUsers特徵中的第一個方法。