|void
*/
public function __call($methodName, $argv)
{
//get data
if(preg_match('/^get(.*)$/', $methodName, $aTmp)) {
//ignore parameter
return $this->__get($this->getRealFieldName($aTmp[1]));
}
//set data
if(preg_match('/^set(.*)$/', $methodName, $aTmp)) {
if(count($argv) != 1) {
throw new Exception('Only parameter');
}
return $this->__set($this->getRealFieldName($aTmp[1]), $argv[0]);
}
throw new Exception(get_class($this) . ':' . $methodName . 'not extents');
}
/**
*
* @param string $str
* @return string
*/
private function getRealFieldName($str)
{
$fieldName = preg_replace('/([A-Z])/', '_${1}', lcfirst($str));
return strtolower($fieldName);
}
}