一、显示用户信息
1)resource
Route::resource('users', 'UsersController');
相当于下面这7个路由
我们先用 Artisan 命令查看目前应用的路由:
php artisan route:list
2) compact 方法
//我们将用户对象 $user 通过 compact 方法转化为一个关联数组,并作为第二个参数传递给 view 方法,将数据与视图进行绑定
return view('users.show', compact('user'));
3)Gravatar 头像和侧边栏
模型里面定义gravatar方法
public function gravatar($size = '100')
{
$hash = md5(strtolower(trim($this->attributes['email'])));
return "https://cdn.v2ex.com/gravatar/$hash?s=$size";
}
Gravatar 的官方链接是 http://www.gravatar.com/avatar/ 然而国内访问并不是很顺畅,这里我们是用 V2EX 社区提供的 https://cdn.v2ex.com/gravatar/ CDN 镜像。
该方法主要做了以下几个操作:
为 gravatar 方法传递的参数 size 指定了默认值 100;
通过 $this->attributes['email'] 获取到用户的邮箱;
使用 trim 方法剔除邮箱的前后空白内容;
用 strtolower 方法将邮箱转换为小写;
将小写的邮箱使用 md5 方法进行转码;
将转码后的邮箱与链接、尺寸拼接成完整的 URL 并返回;
二、注册表单
1)数据库的重置操作
php artisan migrate:refresh
注意:此命令会删除数据库数据,日常开发时请谨慎使用。
2)全局辅助函数 old
全局辅助函数 old 来帮助我们在 Blade 模板中显示旧输入数据
<input type="text" name="name" class="form-control" value="{{ old('name') }}">
3) csrf_field 方法
{{ csrf_field() }}
相当于HTML里面的
csrf_field方法会生成一个隐藏的input字段,其中包含一个加密的CSRF令牌。当表单提交时,该令牌将被包含在请求中,并由Laravel验证。
<input type="hidden" name="_token" value="fhcxqT67dNowMoWsAHGGPJOAWJn8x5R5ctSwZrAq">
csrf_field方法是Laravel框架提供的一个辅助函数,用于生成用于防止跨站请求伪造(CSRF)攻击的令牌。
在Laravel中,CSRF令牌是一种安全措施,用于防止恶意用户利用网站表单或其他交互操作发送伪造的请求。