Laravel学习日记2018-07-03
2018-07-04 本文已影响0人
Purson
今天内容
- 使用迁移为数据表新增字段;
- 通过事件监听来做一些操作;
- 在 Laravel 应用使用邮件发送功能;
- 在本地调试邮件发送功能;
- 通过邮件发送注册链接来激活用户;
- 通过注册邮件来找回密码;
迁移
今天进一步理解migrate 命令。他的作用很强大,他说运行在artisan上的,结合migrate文件,直接对数据库进行操作,而且可以回滚。
一般对步骤:
1.建立迁移文件
$ php artisan make:migration add_activation_to_users_table --table=users
由于我们进行的是字段添加操作,因此在命名迁移文件时需要加上前缀,遵照如 add_column_to_table 这样的命名规范
2.为新增文件添加字段
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('users', function (Blueprint $table) {
$table->string('activation_token')->nullable();
$table->boolean('activated')->default(false);
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('users', function (Blueprint $table) {
$table->dropColumn('activation_token');
$table->dropColumn('activated');
});
}
3.运行迁移命令将字段增加到数据表
$ php artisan migrate
激活流程
1.用户注册成功后,自动生成激活令牌;
2.将激活令牌以链接的形式附带在注册邮件里面,并将邮件发送到用户的注册邮箱上;
3.用户点击注册链接跳到指定路由,路由收到激活令牌参数后映射给相关控制器动作处理;
4.控制器拿到激活令牌并进行验证,验证通过后对该用户进行激活,并将其激活状态设置为已激活;
5.用户激活成功,自动登录;
密码重设流程
1.用户点击重设密码链接并跳转到重设密码页面;
2.在重设密码页面输入邮箱信息并提交;
3.控制器通过该邮箱查找到指定用户并为该用户生成一个密码令牌,接着将该令牌以链接的形式发送到用户提交的邮箱上;
4.用户查看自己个人邮箱,点击重置密码链接跳转到重置密码页面;
用户在该页面输入自己的邮箱和密码并提交;
5.控制器对用户的邮箱和密码重置令牌进行匹配,匹配成功则更新用户密码;
这里的细节逻辑还不是非常理解,大概就是Laravel封装好了,直接参考使用就得了。