• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

怎么在php中使用实体类

php 搞代码 3年前 (2022-01-22) 13次浏览 已收录 0个评论

php 是弱类型语言,通常情况下,是不去定义变量类型的。但是如果是JAVA或者.NET的开发人员转做PHP会不适应。或者是自己想自己写一个类似于 hibernate的orm框架的时候,没有实体类的概念,就不那么好控制了,那么简单讲下,怎么在php中实现实体类的概念。

首先建一个基本Model类

<?phpclass 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, <p style="color:transparent">2本文来源gao!daima.com搞$代!码网</p><span>搞代gaodaima码</span>$previous);		}	}}?>

下面来建一个对应数据库中表的将在项目中使用的类

<?phpclass 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;	}?>

下面就是实体类如何去使用的了

首次看controller

	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

	public static function selectMember(MemberModel $member){    //这里就是为什么要写类型了,写了类型可以拿到定义的类中的方法,否则虽然也可以直接写,但是没有自动提示,如果用的方法比较多,就很蛋疼了。		try {			$sql=$member->find();			return YIISqlOper::queryRow($sql);		} catch (Exception $e) {			throw new Exception($e,4);		}	}	

以上就是怎么在php中使用实体类的详细内容,更多请关注搞代码gaodaima其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:怎么在php中使用实体类

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址