2017-05-07 116 views
1

不工作我使用laravel 5.3Laravel5.3會話控制器類

會議在控制器類方法 不存儲我認爲這個問題是與連接到API。後連接到API會話不行

`

namespace App\Http\Controllers; 
use App\GlosbeTranslate as Translate; 
use Illuminate\Http\Request; 
class translateLocal extends Controller 
{ 
    public $arrayDefine; 
    public function translate($word){ 
      //connect to glosbe Api to translate from eng to fas 
      $glosbe = new Translate("eng", "fas"); 
      $glosb=$glosbe->translate($word); 
      $result=json_decode($glosb); 
      //store result of glosbe api in array 
      foreach ($result->tuc as $key=>$value){ 
       if(isset($value->phrase)){ 
        $translate[]=$value->phrase->text; 
       }else{break;}; 
      } 
      $sortedArray=$this->sort($translate); 
      $encodearray=json_encode($sortedArray,JSON_UNESCAPED_UNICODE); 
      //save in session 
      session(['name' => $encodearray]); 
      return $encodearray; 
     } 

     public function sort($translate){ 
      usort($translate,function ($a,$b){ 
       return strlen($a)-strlen($b); 
      }); 
      return $translate; 
     } 
} 

//我web.php

Route::get('glosb/{word}', '[email protected]'); 
Route::get('/session', function() {  
     echo session('name'); 
}); 

當我加載mysite.dev/session它不顯示我的會話。 我該如何解決?

+0

你是什麼意思'它不顯示我的session'?它的空白頁面還是有錯誤信息? – MoeinPorkamel

+0

Route :: post('/ vocabulary','vocabulary @ set')?如果那是你正在做的事,那就是指向錯誤的地方。 – Paul

+0

@保羅感謝回覆我編輯我的問題。 –

回答

0

你可以給它一個嘗試?

變化

use App\putSession;

use Session;

+0

感謝您的回覆:不,它不工作。我使用了Facade,Helper函數和直接實例化會話類。但現在工作 –

0

您應該更新您的代碼,如:

use Session; 

session(['name' => $encodearray]); 

TO

Session::put('name',$encodearray]); 

,改變你的路線/session這樣的:

Route::get('/session', function() { 
    $name = Session::get('name');  
     echo $name; 

    OR 

    echo session('name'); 
}); 
+0

不是它不工作。我爲什麼做。我沒有其他控制器的問題。 –