php 使用JAVA 赋值_PHP也能实现java bean类似的自动赋值

前些天用Struts写个小东西玩玩,发现在struts中表单对action form是自动进行赋值的。也就是说,只要JAVA BEAN里面的属性名与页面表单中对应的input名是严格对应的就可以自动赋值。感觉很有意思,PHP是自己最喜欢的WEB编程语言,就想试着在PHP中也实现这个功能,没想到查了一下PHP的手册中关于反射的部分,发现真是太Easy了。在项目中应用了一下感觉太爽了。不仅实现了自动赋值,可以说还实现了自动取值,至少方便了特别多。

只要在调用的时候

$foo=new foo();

$foo->setValues();//就完成了自动赋值的过程。原来要写多个个XX=$_POST["XX"]啊

如果要取实体类的值也十分方便

$foo=new foo();

$foo->setValues();//取得需要进行查询必须的部分属性值其实只要取一个KEY就成了。

$foo->getDetail();//OK,所有的属性值就都被数据表中的对应数据填充了。

跟大家分享一下。

以往如果对一个数据表进行封装,一般会写一个对应的类文件,用来读写数据。就象下面这个这样。

/**

* 此apply数据表封装是由《数据表封装类自动生成工具1.0》生成.

** 目前此工具任处于完善过程中,有意见或建议请 mail:jy@http://www.doczj.com/doc/df867f2acfc789eb172dc882.html

**/

require_once("dbc.php");//数据库连接文件,我用的是ADO

class tips {

public $TSBH;//提示编号

public $TSLB;//提示类别

public $TSNR;//提示内容

public $PF;//评分

/**

* 对实例各属性进行赋值

*

*/

public function setValues(){

//如果实体类对应的数据表有30个字段,这部分将会超级长

$this->TSBH=$_POST["TSBH"];

$this->TSLB=$_POST["TSLB"];

$this->TSNR=$_POST["TSNR"];

$this->PF=$_POST["PF"];

}

/**

* 保存数据

*一般在调用前需要调用getValues()从WEB表单中获取数据自动为各属性进行赋值

*@return 更新或写入的数据条数

**/

public function save(){

global $MyDB;

$sql="select TSBH from cvts_tips where TSBH='$this->TSBH'";

$MyDB->query($sql);

if($MyDB->Affected_Rows()>=1){

$sql="update cvts_tips set TSBH='$this->TSBH',TSLB='$this->TSLB',TSNR='$this->TSNR',PF='$this->PF' where TSBH='$this->TSBH'";

}else{

$sql="insert into cvts_tips (TSBH,TSLB,TSNR,PF) values('$this->TSBH','$this->TSLB','$this->TSNR','$this->PF')";

}

$MyDB->query($sql);

return $MyDB->Affected_Rows();

}

public function delValue(){

global $MyDB;

$sql="delete from cvts_tips where TSBH='$this->TSBH'";

$MyDB->query($sql);

return $MyDB->Affected_Rows();

}

/**

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值