时间:2021-05-26
复制代码 代码如下:
/**
* 插入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();
}
}
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
PHP的反射API,即在PHP运行状态下,通过分析PHP程序,可以导出对象所属的类,方法,属性,参数等信息。如何使用反射API示例代码Person.phpPer
本文实例讲述了php反射学习之不用new方法实例化类操作。分享给大家供大家参考,具体如下:上一篇php反射入门示例简单介绍了php反射的几个常见类的使用方法,但
本文实例讲述了PHP反射机制原理与用法。分享给大家供大家参考,具体如下:反射面向对象编程中对象被赋予了自省的能力,而这个自省的过程就是反射。反射,直观理解就是根
本文实例讲述了php面向对象之反射功能与用法。分享给大家供大家参考,具体如下:个人对反射定义的理解:首先得说说什么叫反射。对于一个新手来说,反射这个概念常常给人
本文实例讲述了PHP反射机制的用法,分享给大家供大家参考之用。具体方法如下:演示示例代码如下所示:target[]=newClassOne();}functio