legend3---4、lavarel中session使用注意
一、总结
一句话总结:
session('key',$value)不是存值,是设置默认值,session(['key'=>$value])才是
全局辅助函数 Session
你也可以使用全局的 PHP 辅助函数 session 来获取和存储 Session 数据。 使用单个字符串类型的值作为参数调用辅助函数 session 时,它会返回该字该符串对应的 Session 键的值。当使用一个键值对数组作为参数调用辅助函数 session 时,传入的键值将会存储在 Session 中:
Route::get('home', function () {
// 获取 session 中的一条数据...
$value = session('key');
// 指定一个默认值...
$value = session('key', 'default');
// 在 Session 中存储一条数据...
session(['key' => 'value']);
});
1、laravel验证?
$validator = \Validator::make($dataIn,$rules,$message);
if ($validator->passes()) {
//步骤一:验证输入的数据
$rules=[
'u_phone' => 'required|unique:user|between:10,15',
'u_password' => 'required|same:u_re_password|between:6,20',
'u_email' => 'required|email',
];
$message=[
"u_phone.required"=>"请输入大陆手机号",
"u_phone.unique"=>"用户名已存在",
"u_phone.between"=>"手机号码位数不对",
"u_password.required"=>"请输入密码",
"u_password.same"=>"两次密码不一致",
"u_password.between"=>"密码长度不在6-20位之间",
"u_email.required"=>"请输入邮箱",
];
$validator = \Validator::make($dataIn,$rules,$message);
if ($validator->passes()) {
unset($dataIn['_token']);
unset($dataIn['u_re_password']);
unset($dataIn['captcha']);
unset($dataIn['phone_code']);
$dataIn['u_password']=\Crypt::encrypt($dataIn['u_password']);
$dataIn['u_create_at']=time();
$dataIn['u_update_at']=time();
if (\DB::table("user")->insert($dataIn)) {
return 1;
}else{
return 0;
}
}else{
// 具体查看laravel的核心类
return $validator->getMessageBag()->getMessages();
}
2、lavarel中的重定向(back()方法和redirect()方法)传递数据的原理是什么:return back()->withInput()->with('error','验证码错误!');?
使用闪存的 Session 数据
重定向并使用闪存的 Session 数据
通常,重定向到新的 URL 的同时会将 数据闪存到 Session。并且成功执行将信息闪存到 Seesion 后才算完成此操作。方便起见,你可以创建一个 RedirectResponse 的实例并链式调用 with 方法将数据闪存在 Session 中:
Route::post('user/profile', function () {
// 更新用户的信息...
return redirect('dashboard')->with('status', 'Profile updated!');
});
用户重定向后,你可以从 session 中读取闪存的信息。例如,使用 Blade 语法:
@if (session('status'))
<div class="alert alert-success">
{{ session('status') }}
</div>
@endif
3、lavarel如何验证是否为邮箱?
手册很详细:'u_email' => 'required|email',
$rules=[
'u_phone' => 'required|unique:user|between:10,15',
'u_password' => 'required|same:u_re_password|between:6,20',
'u_email' => 'required|email',
];
4、lavarel如何验证是否为邮箱?
手册很详细:'u_email' => 'required|email',
$rules=[
'u_phone' => 'required|unique:user|between:10,15',
'u_password' => 'required|same:u_re_password|between:6,20',
'u_email' => 'required|email',
];
5、ajax比直接页面post提交的好处?
无论成功失败,还是跳转,都可以给用户提示信息:直接页面跳转麻烦
6、安装barryvdh/laravel-ide-helper:https://packagist.org中搜barryvdh?
1、composer require --dev barryvdh/laravel-ide-helper
2、Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,
3、php artisan ide-helper:generate
1、Require this package with composer using the following command:
composer require --dev barryvdh/laravel-ide-helper
2、After updating composer, add the service provider to the providers array in config/app.php
Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,
3、You can now re-generate the docs yourself (for future updates)
php artisan ide-helper:generate
7、lavarel视图中打印变量注意?
可以使用print_r,不要使用dd
8、vagrant帮助命令?
查看vagrant帮助命令(比如有哪些命令):vagrant
查看vagrant up帮助命令(比如有哪些参数):vagrant up -h(这是在vagrant的帮助命令中知道)
9、hosts文件不能被修改的原因(C:\Windows\System32\drivers\etc\hosts)?
hosts文件或者上级目录被设置成了只读
二、内容在总结中