■
http://d.hatena.ne.jp/bobchin/20060111
tanakaにも教えてもらいましたが、DI2を使用しない場合はこんな感じになるかな?
あまりよろしいとはいえないけど・・・
セッターに初期化処理をいれてやる・・・
class Component { var $filename; function init($file) { static $isCall = false; if ($isCall) return; $isCall = true; // 初期化処理 } function setFilename($filename) { $file = file($filename); $this->init($file); } }