繁体   English   中英

Laravel5.3会话无法在控制器类中工作

[英]Laravel5.3 session not working in controllers class

我正在使用laravel 5.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}', 'translateLocal@translate');
Route::get('/session', function () {     
        echo session('name');
});

当我加载mysite.dev/session时,它不会显示我的会话。 我该怎么解决?

你能尝试一下吗?

更改

use App\\putSession;

use Session;

你应该更新你的代码,如:

use Session;

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

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

并改变您的路线/session如:

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

   OR

   echo session('name');
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM