php使用反射插入对象示例分享


Posted in PHP onMarch 11, 2014
/**  
    * 插入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();
        }
    }
PHP 相关文章推荐
给apache2.2加上mod_encoding模块後 php5.2.0 处理url出现bug
Apr 12 PHP
php strcmp使用说明
Apr 22 PHP
php中截取中文字符串的代码小结
Jul 17 PHP
php mysql 判断update之后是否更新了的方法
Jan 10 PHP
php 使用curl模拟登录人人(校内)网的简单实例
Jun 06 PHP
Ajax提交表单时验证码自动验证 php后端验证码检测
Jul 20 PHP
微信 getAccessToken方法详解及实例
Nov 23 PHP
常用PHP封装分页工具类
Jan 14 PHP
PHP实现的字符串匹配算法示例【sunday算法】
Dec 19 PHP
PHP PDOStatement::execute讲解
Jan 31 PHP
PHP正则表达式笔记与实例详解
May 09 PHP
ThinkPHP5.0框架实现切换数据库的方法分析
Oct 30 PHP
php数组编码转换示例详解
Mar 11 #PHP
使用Discuz关键词服务器实现PHP中文分词
Mar 11 #PHP
PHP输出缓存ob系列函数详解
Mar 11 #PHP
php初始化对象和析构函数的简单实例
Mar 11 #PHP
PHP连接MySQL的2种方法小结以及防止乱码
Mar 11 #PHP
php调用c接口无错版介绍
Mar 11 #PHP
PHP goto语句简介和使用实例
Mar 11 #PHP
You might like
php实现文本数据导入SQL SERVER
2015/05/17 PHP
PHPExcel笔记, mpdf导出
2016/05/03 PHP
任意位置显示html菜单
2007/02/01 Javascript
List the UTC Time on a Computer
2007/06/11 Javascript
抽出www.templatemonster.com的鼠标悬停加载大图模板的代码
2007/07/11 Javascript
jQuery 判断元素上是否绑定了事件
2009/10/28 Javascript
JS时间选择器 兼容IE6,7,8,9
2012/06/26 Javascript
基于jquery插件实现常见的幻灯片效果
2013/11/01 Javascript
JavaScript实现的多种鼠标拖放效果
2015/11/03 Javascript
jQuery简单实现遍历单选框的方法
2017/03/06 Javascript
微信小程序实现缓存根据不同的id来进行设置和读取缓存
2017/06/12 Javascript
详解原生JS动态添加和删除类
2019/03/26 Javascript
JS实现烟花爆炸效果
2020/03/10 Javascript
google广告之另类js调用实现代码
2020/08/22 Javascript
[03:12]TI9战队档案 - Virtus Pro
2019/08/20 DOTA
在Python中的Django框架中进行字符串翻译
2015/07/27 Python
numpy实现合并多维矩阵、list的扩展方法
2018/05/08 Python
python实现可视化动态CPU性能监控
2018/06/21 Python
Django csrf 两种方法设置form的实例
2019/02/03 Python
python给指定csv表格中的联系人群发邮件(带附件的邮件)
2019/12/31 Python
python 非线性规划方式(scipy.optimize.minimize)
2020/02/11 Python
css3 给背景设置渐变色的方法
2019/09/12 HTML / CSS
html5 css3 动态气泡按钮实例演示
2012/12/02 HTML / CSS
24个canvas基础知识小结
2014/12/17 HTML / CSS
彪马加拿大官网:PUMA加拿大
2018/10/04 全球购物
德尔福集团DELPHI的笔试题
2012/02/22 面试题
职称自我鉴定
2013/10/15 职场文书
婚纱摄影师求职信
2014/03/07 职场文书
财务管理专业自荐书
2014/09/02 职场文书
农业生产宣传标语
2014/10/08 职场文书
个人年终总结结尾
2015/03/06 职场文书
个人年终总结开头
2015/03/06 职场文书
2015年法务工作总结范文
2015/05/23 职场文书
python ansible自动化运维工具执行流程
2021/06/24 Python
Python 可迭代对象 iterable的具体使用
2021/08/07 Python
微信小程序实现轮播图指示器
2022/06/25 Javascript