So verwenden Sie Entitätsklassen in PHP

怪我咯
Freigeben: 2023-03-11 20:56:02
Original
3995 Leute haben es durchsucht

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."=&#39;".$v."&#39;";
					}
				}
				if(count($fieldsArray)>0){
					$sql.=" where ".implode(" and ", $fieldsArray);
				}
			}
			return $sql;	
		} catch (Exception $e) {
			throw new Exception($e,3, $previous);
		}
	}
}
?>
Nach dem Login kopieren
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;
	
}
?>
Nach dem Login kopieren
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();
		}
	}
Nach dem Login kopieren
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>
Nach dem Login kopieren
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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!