logo

マジックメソッドを巡る旅 その13

ヒューマンリソシア株式会社はコラム「マジックメソッドを巡る旅 その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/
本プレスリリースは発表元企業よりご投稿いただいた情報を掲載しております。
お問い合わせにつきましては発表元企業までお願いいたします。