skillup

技術ブログ

サーバー・ネットワーク プログラミング全般

データのシリアライズ

投稿日:2017年4月20日 更新日:

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

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

普通の文字や変数なんかはダイレクトに入れてあげればいいのですが、一時的な情報の場合、検索やキー的な使い方をする必要もないので配列的なデータをまとめて保存する必要があり、その場合、シリアライズという処理が必要になってきます。

PHP セッションのシリアライズ方式と他言語からの読み取り

PHP、セッション経由でオブジェクトを受け渡しする方法

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

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

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

-サーバー・ネットワーク, プログラミング全般
-, ,

執筆者:


comment

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

関連記事

no image

障害調査フロー

実務でサーバーの障害が発生した時のフローなどをメモしおこうかと。 行ってしまうと「ログに始まり、ログにおわる」といった感じでしょうか。 サーバーエンジニアの方の作業をみてたんですが、基本的にはプログラ …

no image

AWSのCLIに関して

実務でAWSを使ってたんですがテスト時にはコマンドを使っている方がはるかに早いためコマンドライン環境を作っておいたほうが良いです。 ちなみに使用する前にはAWSのコンソールからIAMユーザーを作成する …

no image

nginxインストール(サブディレクトリでcakePHPを使いたいとき)

以前nginxのインストールを行いましたが、理解が浅かったようで今回すげーはまりました(汗) ガチンコ塾でもいっていますが、覚え始めの時はコピペでもいいですが(最初から100%の理解は非現実的)、慣れ …

no image

Linuxコマンドの総復習

ちょっとスポット的にLinuxコマンドの復習などを。 Contents1 コマンドの実行2 リダイレクト処理の一覧2.1 コマンド> ファイル2.2 コマンド<ファイル2.3 コマンド&g …

no image

Terraform入門(シンプルなEC2の構築)

前回の記事でcloudformationとterraformの比較や紹介をしましたが、terraformがとっつきやすかったため、簡単なサンプルとメモを。 Contents1 インストール2 実行手順 …

アーカイブ