0

0

怎么在php中使用实体类

怪我咯

怪我咯

发布时间:2017-06-28 13:53:48

|

4144人浏览过

|

来源于php中文网

原创

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

首先建一个基本Model类

_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);
		}
	}
}
?>

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

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

首次看controller

ASP.NET 4.0电子商城
ASP.NET 4.0电子商城

在现实生活中的购物过程,购物者需要先到商场,找到指定的产品柜台下,查看产品实体以及标价信息,如果产品合适,就将该产品放到购物车中,到收款处付款结算。电子商务网站通过虚拟网页的形式在计算机上摸拟了整个过程,首先电子商务设计人员将产品信息分类显示在网页上,用户查看网页上的产品信息,当用户看到了中意的产品后,可以将该产品添加到购物车,最后使用网上支付工具进行结算,而货物将由公司通过快递等方式发送给购物者

下载

立即学习PHP免费学习笔记(深入)”;

	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 

public static function selectMember(MemberModel $member){
try {
return MemberDao::selectMember($member);
} catch (Exception $e) {
throw new Exception($e,4);
}
}

dao

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

相关文章

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

php

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
c++ 根号
c++ 根号

本专题整合了c++根号相关教程,阅读专题下面的文章了解更多详细内容。

22

2026.01.23

c++空格相关教程合集
c++空格相关教程合集

本专题整合了c++空格相关教程,阅读专题下面的文章了解更多详细内容。

24

2026.01.23

yy漫画官方登录入口地址合集
yy漫画官方登录入口地址合集

本专题整合了yy漫画入口相关合集,阅读专题下面的文章了解更多详细内容。

99

2026.01.23

漫蛙最新入口地址汇总2026
漫蛙最新入口地址汇总2026

本专题整合了漫蛙最新入口地址大全,阅读专题下面的文章了解更多详细内容。

132

2026.01.23

C++ 高级模板编程与元编程
C++ 高级模板编程与元编程

本专题深入讲解 C++ 中的高级模板编程与元编程技术,涵盖模板特化、SFINAE、模板递归、类型萃取、编译时常量与计算、C++17 的折叠表达式与变长模板参数等。通过多个实际示例,帮助开发者掌握 如何利用 C++ 模板机制编写高效、可扩展的通用代码,并提升代码的灵活性与性能。

15

2026.01.23

php远程文件教程合集
php远程文件教程合集

本专题整合了php远程文件相关教程,阅读专题下面的文章了解更多详细内容。

65

2026.01.22

PHP后端开发相关内容汇总
PHP后端开发相关内容汇总

本专题整合了PHP后端开发相关内容,阅读专题下面的文章了解更多详细内容。

61

2026.01.22

php会话教程合集
php会话教程合集

本专题整合了php会话教程相关合集,阅读专题下面的文章了解更多详细内容。

63

2026.01.22

宝塔PHP8.4相关教程汇总
宝塔PHP8.4相关教程汇总

本专题整合了宝塔PHP8.4相关教程,阅读专题下面的文章了解更多详细内容。

33

2026.01.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 9.3万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 10.6万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号