マジックメソッドを巡る旅 その13
2016/1/8 12:44
※この記事は読者によって投稿されたユーザー投稿です:
- 編集部の見解や意向と異なる内容の場合があります
- 編集部は内容について正確性を保証できません
- 画像が表示されない場合、編集部では対応できません
- 内容の追加・修正も編集部では対応できません
ヒューマンリソシア株式会社はコラム「マジックメソッドを巡る旅 その13」を公開しました。
最後は__set()と__get()になります。比較的シンプルな機能ですが、
それだけに割と見る機会が多いように思われますので、しっかりとやっていきましょう。
__get()及び__set()は、__call()に似ております。
端的には、この2つのマジックメソッドは「アクセス不能なプロパティにアクセスしようとした時に動きます」。
細かく書きますと、__set()はアクセス不能プロパティへ「データを書き込む」タイミングで、__get()は
アクセス不能プロパティから「データを読み込む」タイミングで、callされます。
この辺りでよいサンプルになるのが、Smartyですね。
Smartyは、インスタンスの生成直後(でなくてもいいのですが、大抵の場合、生成直後に行われます)、
最低限「template_dirの設定」と「compile_dirの設定」を行うのですが。
幾分古いサンプルコードですと、大抵、こんな風に書かれています。
$smarty = new Smarty();
$smarty->template_dir = ディレクトリ;
$smarty->compile_dir = ディレクトリ;
さて…幾分古い、Smartyの2.x系のコードを一部抜粋するとこんな感じなのですが。
class Smarty
{
/**#@+
この続きは以下をご覧ください
http://resocia.jp/column/2165/
ソーシャルもやってます!