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文件或者上级目录被设置成了只读
二、内容在总结中