skillup

技術ブログ

サーバー・ネットワーク

データのシリアライズ

投稿日:

おととしにJavaをやったときにでてきましたがSessionに情報を格納するときにでてきたシリアライズについて。

セッションはステートフルな状態を実現するための便利なデータの保存方法ですが、値をオブジェクトで入れたいときには工夫が必要です。

普通の文字や変数なんかはダイレクトに入れてあげればいいのですが、オブジェクトなどはダイレクトにセッションにいれても取り出せません。

その場合、シリアライズという処理が必要になってきます。

http://qiita.com/shin1x1/items/6799512ac41fdf693ad4

http://piyopiyocs.blog115.fc2.com/blog-entry-269.html

ECCUBEやってたときにこんな処理やったなー。当時としては訳も分からずやってましたっけ・・・

考え方として近いのがjson形式にして保存する方法でしょうか。保存するときにjson_encodeを使って文字列にして、SESSIONに格納し、出力するときにjson_decodeで復元するとやればそのまま取り出せます。

JavaScriptなどと連携するときにも楽です。※注意点としては連想配列をjson_decodeで復元するときは第2引数にtrueを入れないと反応しません。

http://d.hatena.ne.jp/deeeki/20081011/objectserialize

-サーバー・ネットワーク
-, ,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

php-fpmに関して

今回はphp-fpmに関して。会社のサーバー(このブログが載っているサーバー)がこれ使ってて、メモリをやたら消費しており、設定を見直す必要があったので、リサーチ。 Contents1 php-fpmと …

no image

クロスドメインがらみのajax

ajaxで別ドメインに対して、プログラムを実行したい時に注意すべきことなどを。 Contents1 ログ、レスポンスヘッダをとにかく追う2 特定ドメインからの許可3 フレームワーク側での認証ロジック( …

no image

dockerコンテナ間での連携(PHP+MySQL)

dockerでのコンテナ間の連携について 以前、dockerではCentOSのイメージからコンテナを作成し、その中にphp,apache,mysqlをインストールしてましたが、dockerの使い方とし …

no image

PHP7に関して

先週きづいたのですが、PHPが5.6から7になりましたね。 まあ当分はまだPHP5で開発していきますが、herokuがいきなり7になり、アプリが動かないということが起こりました。 7対応させたかったん …

no image

yumとrpmについて

centOSのカーネルのバージョンアップで時間があるのでブログを更新。 redhat系ではソフトウェアをインストールするときにyumかrpmのコマンドを使うと思います。 私も日頃、両方使っているのです …