Heim > Artikel > Backend-Entwicklung > So verwenden Sie Entitätsklassen in PHP
PHP ist eine schwach typisierte Sprache. Normalerweise sind Variablentypen nicht definiert. Wenn Sie jedoch JAVA- oder .NET-Entwickler sind, können Sie sich nicht an PHP anpassen. Oder wenn Sie ein ORM-Framework ähnlich dem Ruhezustand schreiben möchten, ohne das Konzept der Entitätsklassen, ist es nicht so einfach, es zu kontrollieren. Lassen Sie mich kurz darüber sprechen, wie das Konzept der Entitätsklassen in PHP implementiert wird.
Erstellen Sie zunächst eine grundlegende Modellklasse<?php class BaseModel{ private $_tableName; public function construct($tableName=""){ $this->_tableName=$tableName; } public function getTableName(){ return $this->_tableName; } public function getFieldsArray(){ try { $obj=json_decode(json_encode($this),true); //此处可能会影响效率,但是为了去除类中的private属性,目前是这么做的 $fieldsArray=array(); foreach ($obj as $k=>$v){ $fieldsArray[]=$k; } return $fieldsArray; } catch (Exception $e) { throw new Exception($e,3, $previous); } } public function find($condition=null){ try { $sql="select ".implode(",",$this->getFieldsArray())." from ".$this->_tableName." "; if($condition){ $sql.=" where ".$condition; }else { $obj=json_decode(json_encode($this),true); $fieldsArray=array(); foreach ($obj as $k=>$v){ if($v!=null && $v!=""){ $fieldsArray[]=$k."='".$v."'"; } } if(count($fieldsArray)>0){ $sql.=" where ".implode(" and ", $fieldsArray); } } return $sql; } catch (Exception $e) { throw new Exception($e,3, $previous); } } } ?>Als Nächstes erstellen Sie eine Klasse, die der Tabelle in der Datenbank entspricht und im Projekt verwendet wird
<?php class MemberModel extends BaseModel{ public $m_ID; public $m_Account; public $m_Pwd; public $m_TEL; public $m_UserID; public $m_ChannelID; public $m_Status; public $m_CreateTime; public $m_UpdateTime; } ?>Im Folgenden erfahren Sie, wie Sie Entitätsklassen verwenden. Wir betrachten den Controller zum ersten Mal.
public function actionSelectMember(){ try { $member=new MemberModel("T_Member"); $member->m_Account=GetValue::getParam("Account"); $member->m_Pwd=GetValue::getParam("Pwd"); $result=MemberService::selectMember($member); if($result){ Yii::app()->session["MemberID"]=$result["m_ID"]; echo IMReturnStr::success(); }else { echo IMReturnStr::GetInfo(false,"用户名或者密码错误"); } } catch (Exception $e) { echo IMReturnStr::failure(); } }Service
<p style="margin-bottom: 7px;"> public static function selectMember(MemberModel $member){<br/> try {<br/> return MemberDao::selectMember($member);<br/> } catch (Exception $e) {<br/> throw new Exception($e,4);<br/> }<br/> }</p>dao
Das obige ist der detaillierte Inhalt vonSo verwenden Sie Entitätsklassen in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!