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文件或者上級目錄被設置成了只讀
二、內容在總結中