91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用laravel怎么實現語言包切換功能

發布時間:2021-05-18 17:18:00 來源:億速云 閱讀:233 作者:Leah 欄目:開發技術

使用laravel怎么實現語言包切換功能?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

1.創建中間件

在Mideleware中創建一個名為language.php的中間件如下:

2、中間鍵創建完成后需要進行注冊中間才能使用哦接下來我們進行注冊language中間鍵進行注冊,如果還是有不懂的小伙伴可以參考一下官網

http://laravelacademy.org/post/57.html,中間件詳解,這塊比較重要:

8在app下面找到Http/Kernel.php,編輯該文件 找到如下:

 protected $middlewareGroups = [
    'web' => [
      \App\Http\Middleware\EncryptCookies::class,
      \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
      \Illuminate\Session\Middleware\StartSession::class,
      \Illuminate\View\Middleware\ShareErrorsFromSession::class,
      \App\Http\Middleware\VerifyCsrfToken::class,
      \App\Http\Middleware\Language::class, //語言包中間件注冊。
    ],

3、接下來我們開始書寫路由了:Route::get('demos','IndexController@ins');

4、通過路由訪問對應的控制器接下來我們創建一個控制器IndexController

思路:前端頁面通過下拉菜單獲取當前用戶選擇的語言包是英文還是簡體。通過ajax請求到當前控制器,把通過setLocale進行設置,把語言包存入到session中進行返回。返回的同時進行刷新頁面

use Illuminate\Support\Facades\Session;
use Illuminate\Support\Facades\App;
use Illuminate\Http\Response;
public function ins(Request $request){
    if($request->ajax()){
      $data = $request->all();
      App::setLocale($data['language']);
      $res = $request->session()->put('language',$data['language']);      
      return $this->returnCode(200,'',$res);
    }else{
		//刷新后頁面,再去獲取語言包
      $rr = App::getLocale();
	//寫入自己的邏輯存把信息返回到頁面中區
      return view('welcome')->with('lan',$rr);
    }
  }

5、接下來我們開始編寫前端的代碼:在我們直接一welcome頁面為例子:

<div class="container">
      <div class="content">
          <!--<div class="title"><a href="/demo/zh_cn" rel="external nofollow" >{{ trans('welcome.message') }}</a></div>-->
          <select οnchange="changelanguage(this.value)">
            <option value="en">
               @if(App::getLocale() =='en')
                selected
               @else
               @endif
              English
            </option>
            <option value='zh_cn'@if(App::getLocale() == 'zh_cn') selected @else @endif>簡體中文</option>>
             <div>{{trans('welcome.message')}}{{$lan}}</div>
          </select>
       
        
      </div>
      <script src="{{asset('public/home/js/jquery.min.js')}}"></script>
       <script>
         function changelanguage(val){
           $.ajax({
             type :'get',
             url :'demos',
             data:{
              language :val 
             },
             dataType :'json',
             success:function(res){
               
               if(res){
                 window.location.reload();
               }
             }
           })
         }
       </script>
  </body>

Laravel 是什么

Laravel 是一套簡潔、優雅的PHP Web開發框架。它可以讓你從面條一樣雜亂的代碼中解脫出來;它可以幫你構建一個完美的網絡APP,而且每行代碼都可以簡潔、富于表達力。

看完上述內容,你們掌握使用laravel怎么實現語言包切換功能的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

太白县| 新竹市| 遂川县| 台湾省| 五寨县| 湄潭县| 邻水| 隆回县| 太湖县| 镇原县| 都兰县| 南安市| 临夏市| 冀州市| 蒙山县| 定西市| 平顺县| 新丰县| 乐都县| 博野县| 德清县| 宁国市| 清镇市| 油尖旺区| 忻州市| 延寿县| 曲阳县| 永济市| 玉田县| 江华| 贵州省| 康平县| 河间市| 手机| 桑日县| 当阳市| 满城县| 抚州市| 会宁县| 福泉市| 松江区|