php使用反射插入对象示例分享
下面是这个函数的代码示例:
```php
/
@param object $model 对象
@param boolean $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) {
编程语言
- php使用反射插入对象示例分享
- BootStrap初学者对弹出框和进度条的使用感觉
- php判断数组是否为空的实例方法
- JQuery节点元素属性操作方法
- BootStrap实现鼠标悬停下拉列表功能
- Excel连接字符串中的HDR、IMEX参数详解
- php使用GD实现颜色渐变实例
- PHP实现微信图片上传到服务器的方法示例
- 从git仓库中删除.idea文件夹的小妙招
- PHP扩展安装方法步骤解析
- 移除HTML标签的正则表达式
- 重装MS SQL Server 2000前必须彻底删除原安装文件的
- 解析mysql 表中的碎片产生原因以及清理
- vs2010无法添加dll引用的处理方法
- CASE表达式实现基于条件逻辑来返回一个值
- 如何把vuejs打包出来的文件整合到springboot里