phpダイナミック作成プロパティ

1260 ワード

phpはjavascriptと同じように属性を動的に作成できることを知った.
class Book{
        public $name;
        public function __construct($name) {
                $var=  func_get_arg(0);
                if(is_int($var)){
                        $this->name="12345".$name;
                }
                if(is_string($name)){
                          $this->name=$name;
                }
              
        }
        
}

class Main{
        
        public static  function createbook($class,$config=null){
                return new $class($config);
        }
        public function config($config){
                if(is_array($config)){
                        foreach($config  as $key=>$val){
                                $this->$key=$val;
                        }
                }
        }
}
$config=array(
                         'name'=>'My Web Application',
);
$main=new Main();
$main->config($config);
  echo  $main->name;

その結果、「My Webアプリケーション」が出力されます.
 
そしてphpのリロードはfunc_get_arg(0) ,func_num_args()で実現する.