2016-07-25 11 views
0

ZF2コントローラでクッキーを作成しようとしています。私が "hotelPage"にいるとき、コントローラはホテルの価値を持つクッキーを作成することになっています。私は現在のホテルページに応じて、クッキーに動的にデータを追加する必要があります。私のコードは次のとおりです。オブジェクトの配列を作成してクッキーに動的に格納する方法

   $cookieData = $this->getRequest()->getCookie(); 
      if(empty($cookieData->recently_viewed)){ // cookie doesn't exists     
       // get data from hotel object 
       $recentlyViewedHotel = array('hotelId' => $hotel->id, 'hotelName' => $hotel->name); 
       array_push($hotels, $recentlyViewedHotel); 
       System::setCookie("recently_viewed", json_encode($hotels)); 
      } else{ // cookie already created, add more values to the cookie 
       $recentlyViewedHotel = array('hotelId' => $hotel->id, 'hotelName' => $hotel->name); 
       System::setCookie("recently_viewed", json_encode($hotels)); 
      } 

私が得る出力は、常に上書きされる1つのオブジェクトの配列です。誰かが私に間違っていることを教えてもらえますか?

答えて

0

コードを見て、出力として何を得ているかに基づいて、あなたのクッキーが既に存在するときに、クッキーを設定するために使用しているSystem::setCookie関数を使用していると思います。クッキーがすでに存在する場合は、json_decodeです。オブジェクトに新しい値を追加し、更新されたオブジェクトでSystem::setCookie関数を呼び出します。

注:既存のクッキー:)

乾杯に値を追加するために呼び出すことができ、既存のAPIが存在しない場合は明らかに、あなたは、上記の処理を行う必要があります!

関連する問題