Factory Methodパターン

 <?php
 class Foo {
     private $v1 = null;
     private function __construct($options) {
         $v1 = $options['v1'];
     }
     public static function getInstance($options) {
         return new Foo($options);
     }
 }

ダメ

 $obj = new Foo(array('v1' => 100));
 PHP Fatal error:  Call to private Foo::__construct() from invalid context in /home/taro/tmp/1.php on line 12

OK

 $obj =  Foo::getInstance(array('v1' => 100));
 object(Foo)#1 (1) {
  ["v1":"Foo":private]=>
  NULL
 }

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS

Last-modified: 2012-01-18 (水) 18:14:21