legend3---4、lavarel中session使用注意


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文件或者上級目錄被設置成了只讀

 

二、內容在總結中

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM