「WordPressで学ぶPHP(2)データ構造(配列・オブジェクト)編」を発売しました。
本書は「WordPressで学ぶPHP(1)変数・制御構造編」の続編にあたり、PHPの「データ構造」(配列とオブジェクト)について解説します。
配列やオブジェクトは、頭の中で考えるだけでは、イメージがつかみにくいです。本書では図を多用して、配列やオブジェクトをなるべく分かりやすく解説することを心がけました。
Kindle本で、定価250円です。
Serializerプラグイン
Movable Typeのテンプレート内で設定したハッシュ等の変数をJSON等の形式にシリアライズしたり、逆にJSON等をデシリアライズして変数に代入したりするプラグインを作りました。
1.インストール
プラグインは以下からダウンロードします。
ダウンロードしたZipファイルを解凍すると、「plugins」フォルダができます。
このフォルダを、Movable Typeのインストール先ディレクトリにアップロードします。
2.シリアライズ
ハッシュ等をシリアライズするには、以下のテンプレートタグ(ファンクションタグ)を使います。
いずれも、nameモディファイアで、シリアライズする変数の名前を指定します。
シリアライズ方法 | テンプレートタグ |
---|---|
JSON | MTSerializeJSON |
YAML | MTSerializeYAML |
PHP | MTSerializePHP |
例えば、以下のようなテンプレートを組むとします。
<$mt:SetVar name="people" key="name" value="Yamada Taro"$> <$mt:SetVar name="people" key="age" value="30"$> <$mt:SetVar name="people" key="blood" value="A"$> <$mt:SerializeJSON name="people"$>
すると、ハッシュ「people」がJSON形式でシリアライズされ、以下の出力を得ることができます。
{"name":"Yamada Taro","age":"30","blood":"A"}
3.デシリアライズ
シリアライズ後の文字列をデシリアライズして変数に代入するには、以下のテンプレートタグ(ブロックタグ)を使います。
ブロック内の文字列がデシリアライズされます。
いずれも、nameモディファイアで、代入先の変数の名前を指定します。
デシリアライズ方法 | テンプレートタグ |
---|---|
JSON | MTDeserializeJSON |
YAML | MTDeserializeYAML |
PHP | MTDeserializePHP |
例えば、以下のようなテンプレートを組むとします。
<mt:DeserializeJSON name="people"> {"name":"Yamada Taro","age":"30","blood":"A"} </mt:DeserializeJSON>
すると、以下の内容のハッシュ「people」ができます。
キー | 値 |
---|---|
name | Yamada Taro |
age | 30 |
blood | A |