php使用反射插入对象示例分享_PHP教程
-
原创
-
2016-07-13 10:36:12
673浏览
复制代码 代码如下:
/**
* 插入insertModel(),利用反射,效率稍差
* @param class $model 对象
* @param bool $is_returnLastInsertId 是否返回添加ID
* @return int 默认返回成功与否,$is_returnLastInsertId 为true,返回添加ID
*/
public function insertModel($model,$is_returnLastInsertId=FALSE) {
try {
require_once dirname(dirname(__FILE__)).'\Models\BaseModel.php';
if(!is_subclass_of($model, "BaseModel")){
exit($this->getError(__FUNCTION__, __LINE__));
}
$className=get_class($model);
$tName = $this->formatTabName($className);
$reflectionClass=new ReflectionClass($className);
$properties=$reflectionClass->getProperties();
unset($properties[0]);
$fields="";
$vals="";
foreach ($properties as $property) {
$pName=$property->getName();
$fields.=$pName.",";
$vals.='\''.$model->$pName.'\''.',';
}
$fields=rtrim($fields,',');
$vals=rtrim($vals,',');
$this->sql = "insert into {$tName} ({$fields}) values ({$vals})";
if($is_returnLastInsertId){
$this->conn->exec($this->sql);
$lastId = (int)$this->conn->lastInsertId();
return $lastId;
} else {
$row = $this->conn->exec($this->sql);
return $row;
}
} catch (Exception $exc) {
echo $exc->getMessage();
}
}
http://www.bkjia.com/PHPjc/740206.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/740206.htmlTechArticle复制代码 代码如下: /** * 插入insertModel(),利用反射,效率稍差 * @param class $model 对象 * @param bool $is_returnLastInsertId 是否返回添加ID * @return...
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。