PHP开发实例大全(提高卷) 中文完整pdf扫描版[244MB]
laravel自带一套用户登录,注册等功能,用户只需要通过php artisan make:auth命令安装即可使用。我们这里已经安装配置了用户认证系统,下面重点通过登录(login)说说整个代码的执行过程
laravel版本5.4
需要提前了解的知识:
1.包含的php知识点:有namespace 命名空间、use关键字的使用、trait的语法
2.laravel包含的知识点:中间件、路由、控制器等等
3. 本次说明过程是按照访问url为线索分析
4. 单独说一下trait的定义类似于class但又不完全相同,具体查看php手册,这里只要说明一下trait在laravel中的使用。trait是通过use关键字来
使用的,查看大量代码会发现,命名空间和trait使用都是通过use关键字,不同之处在于导入位置,命名空间在类的定义体外导入,而trait在类的定义体内导入。
一、访问http://127.0.0.1/laravel/public/login
访问上面url实际执行的入口脚本文件/laravel/app/Http/Controllers/Auth/LoginController.php
LoginController.php代码如下:
namespace App\Http\Controllers\Auth; //LoginController类定义在App\Http\Controllers\Auth命名空间下 use App\Http\Controllers\Controller; //导入命名空间 use Illuminate\Foundation\Auth\AuthenticatesUsers; //导入命名空间 class LoginController extends Controller { use AuthenticatesUsers; //使用trait,注意和上面命名空间的区别 public function __construct() { $this->middleware('guest')->except('logout'); //在LoginController控制器中注册guest中间件 } }
代码说明:
/*
* 一、guest中间件
* 通过Kernel.php文件中的代码得知guest中间件对应的文件实则为RedirectIfAuthenticated
* 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class
* guest是在Kernel.php文件中,为RedirectIfAuthenticated中间件指派的键值
* 二、middleware()方法说明
* middleware()方法是LoginController控制器继承于父类,定义在 Illuminate\Routing\ControllerMiddlewareOptions.php文件中
* 三、except()方法定义于 Illuminate\Routing\ControllerMiddlewareOptions.php文件中,从名称可以了解的作用,是对控制器中的中间件赋予的操作
*/
转载请注明:谷谷点程序 » laravel源码分析用户认证系统之登录