您好,登錄后才能下訂單哦!
本篇文章為大家展示了php中怎么利用反射插入對象,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
代碼如下:
/** * 插入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(); } }
上述內(nèi)容就是php中怎么利用反射插入對象,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。