才知道php可以动态创建属性,可以和javascript一样.
Php代码
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 Application";
而且php的重载是通过func_get_arg(0) ,func_num_args()来实现的.