• 技术文章 >后端开发 >php教程

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

    2016-07-13 10:36:12原创234
    复制代码 代码如下:

    /**
    * 插入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();
    }
    }

    www.bkjia.comtruehttp://www.bkjia.com/PHPjc/740206.htmlTechArticle复制代码 代码如下: /** * 插入insertModel(),利用反射,效率稍差 * @param class $model 对象 * @param bool $is_returnLastInsertId 是否返回添加ID * @return...

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php 反射
    上一篇:PHP调用JAVA的WebService简单实例_PHP教程 下一篇:php上传图片存入数据库示例分享_PHP教程

    相关文章推荐

    • 一文详解IIS10是怎么配置PHP的• 显示格式化的用户输入_PHP教程• PHP中通过Web执行C/C++应用程序_PHP教程• PHP+TEXT留言本(三)_PHP教程• PHP XML转数组函数_PHP教程

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网