class initialize
{
public $command='';
public $say='';
public $controller='';
function __construct(array $config=array()){
$this->init($config);
}
public function init(array $config=array())
{
foreach($config as $key=>$val) {
if (isset($this->$key)) {
$method = 'set_' . $key;
if (method_exists($this, $method)) {
$this->$method($val);
} else {
$this->$key = $val;
}
}
}
}
public function set_command($cmd)
{
return $this->command=$cmd;
}
public function getcommand()
{
return $this->command;
}
public function getsay()
{
return $this->say;
}
public function getcontroller($controller='models')
{
return $this->controller=($controller==='models') ? 'models' :'view';
}
}
$arrstr=array(
'command'=>'这是一个命令,取得成员函数',
'say' =>'这是为成员变量赋值',
'controller' => ''
);
$init=new initialize($arrstr);
$init->set_command('成员函数直接赋值');
echo $init->getcommand();
echo $init->getsay();
echo $init->getcontroller('view');