PHP 相当于JavaBean的代码
来源:互联网 发布:java软件工程师薪水 编辑:程序博客网 时间:2024/04/29 10:47
<?phprequire_once("Collection1.class.php");require_once("Dog.class.php");require_once("User.class.php");function isEveryoneAwake(){if(time()< strtotime("today 8:30am") || time() > strtotime("today 10:30pm")){return false;}else{return true;}}try{$pdo = new PDO('mysql:host=localhost;dbname=test', 'root', '');//$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);$user = new User($pdo);print "Running ....<br/>";$user->setFirstName("Steven");$user->setLastName("Nowicki");print "First Name is ".$user->getFirstName()."<br/>";print "Last Name is ". $user->getLastName() ."<br/>";print "saving .....<br/>";$user->save();print "ID in database is ".$user->getID()."<br/>";$objStatement = $pdo->prepare("select * from samsung");$result = $objStatement->execute();$i = 0;//var_dump($result);while($arrow = $objStatement->fetch(PDO::FETCH_ASSOC)){print "Row $i<br/> \n";foreach($arrow as $key=>$value){print "-Column $key, value $value <br/>\n";};$i++;}print "connect successful";}catch(PDOException $e){echo $e->getMessage();}$pdo = null;print "successfully disconnected\n";$objDog = new Dog("Fido");$objDog->onspeak('isEveryoneAwake');$objDog->bark();$coll = new Collection1();$coll->addItem("samsung","key1");$coll->addItem("sssssss", "key2");echo $coll->getItem("key1");echo $coll->__toString();?>
<?phpclass User{private $ID;private $objPDO;private $strTableName;private $blForDeletion;private $FirstName;private $LastName;private $UserName;private $Password;public function __construct(PDO $objPDO, $id = NULL){$this->strTableName = "user";$this->arRelationMap = array("id" => "ID","first_name" => "FirstName","last_name" => "LastName","username" => "UserName","md5_pwd" => "Password");$this->objPDO = $objPDO;if(isset($id)){$this->ID = $id;$strQuery = "SELECT ";foreach($this->arRelationMap as $key => $value){$strQuery .= $key. ",";}$strQuery = substr($strQuery, 0, strlen($strQuery) - 1);$strQuery .= " FROM". $this->strTableName. " WHERE id = :eid";$objStatement = $this->objPDO->prepare($strQuery);$objStatement->bindParam(":eid", $this->ID, PDO::PARAM_INT);$objStatement->execute();$arRow = $objStatement->fetch(PDO::FETCH_ASSOC);foreach($arRow as $key=>$value){$strMember = $this->arRelationMap[$key];if(property_exits($this, $strMember)){if(is_numeric($value)){eval('$this->$strMember = $value;');}else{eval("$this->$strMember = '$value';");}}}}}public function save(){if(isset($this->ID)){$strQuery = "UPDATE $this->strTableName SET ";foreach($this->arRelationMap as $key=>$value){eval("$actualValue = $this->".$value.";");if(isset($actualValue)){$strQuery .= "$key = :$value,"; }}$strQuery = substr($strQuery, 0, strlen($strQuery) - 1);$strQuery .= " WHERE id = :eid";unset($objStatement);$objStatement = $this->objPDO->prepare($strQuery);$objStatement->bindValue(":eid", $this->ID, PDO::PARAM_INT);foreach($this->arRelationMap as $key=>$value){eval("$actualValue = $this->".$value.";");if(isset($actualValue) || $actualValue == NULL){if(is_int($actualValue)){$objStatement->bindValue(":".$value, $actualValue, PDO::PARAM_INT);}else{$objStatement->bindValue(":".$value, $actualValue, PDO::PARAM_STR);}}}$objStatement->execute();}else{$strValueList = "";$strQuery = "INSERT INTO $this->strTableName (";foreach($this->arRelationMap as $key => $value){ eval('$actualValue = $this->'.$value.';'); if($actualValue){$strQuery .= $key.",";$strValueList .= ":$value,"; }}$strQuery = substr($strQuery, 0, strlen($strQuery) - 1);$strValueList = substr($strValueList, 0, strlen($strValueList) - 1);$strQuery .= ") VALUES (".$strValueList.")";unset($objStatement);$objStatement = $this->objPDO->prepare($strQuery);foreach($this->arRelationMap as $key => $value){eval('$actualValue = $this->'.$value.';');if(isset($actualValue)){if(is_int($actualValue) || $actualValue == NULL){$objStatement->bindValue(":$value", $actualValue, PDO::PARAM_INT);}else{$objStatement->bindValue(":$value", $actualValue, PDO::PARAM_STR);}}}$objStatement->execute();$this->ID = $this->objPDO->lastInsertId();}}public function MarkForDeletion(){$this->blForDeletion = true;}public function __destruct(){if(isset($this->ID)){if($this->blForDeletion == true){$strQuery = "DELETE FROM $this->strTableName WHERE ID = :eid";$objStatement = $this->objPDO->prepare($strQuery);$objStatement->bindValue(":eid", $this->ID, PDO::PARAM_INT);$objStatement->execute();}}}public function __call($strFunction, $arguments){$strMethodType = substr($strFunction, 0, 3);$strMethodMember = substr($strFunction, 3);switch($strMethodType){case "set": return ($this->SetAccessor($strMethodMember, $arguments[0])); break;case "get": return ($this->GetAccessor($strMethodMember));}return (false);}private function SetAccessor($strMember, $strNewValue){if(property_exists($this, $strMember)){if(is_numeric($strNewValue) || $strNewValue == NULL){eval('$this->'.$strMember. '= ' .$strNewValue.';');}else{//var_dump($strMember);//echo '<br/>$this->'.$strMember. '= "' .$strNewValue.'";<br/>';eval('$this->'.$strMember. '= "' .$strNewValue.'";');}}else{return (false);}}private function GetAccessor($strMember){if(property_exists($this, $strMember)){//echo'$strValue $this->'.$strMember.';'."<br/>";eval('$strValue = $this->'.$strMember.';');return ($strValue);}else{return (false);}}}?>
0 0
- PHP 相当于JavaBean的代码
- asp.net里相当于php数组功能的集合
- object c load(相当于java的静态代码块)和initialize (相当于java中的构造代码块)
- JavaBean代码
- 普通的JavaBean代码的快速生成
- 用java实现简单的网络通信,相当于一个最简单的控制台qq(附代码)
- javabean+jsp猜游戏的代码
- 使用xslt动态生成javabean的代码
- PHP &&与运算符 相当于if条件
- 相当于delphi的日历控件
- @ModelAttribute 相当于struts2的ModelDriver<>
- Java Web笔记 – JavaBean的使用 JavaBean的范围 与Java代码的交互
- JavaBean编程学习--使用JavaBean提高JSP的代码重用性
- iso 的scene 相当于android的activty
- 常用的oracle的语句,相当于工具
- Java写JavaBean代码生成器的EditPlus插件
- 很好的jsp+servlet+javaBean实现数据分页代码例子
- 数据SQL脚本自动转换成javaBean代码的实现
- 在数据库历史上最重要的人物简介
- MobileCoreServices--LSApplicationWorkspace.h
- java中JoptionPane 的一些常用使用规范
- QT学习笔记_Hello QT!
- 自己动手编译OpenJDK
- PHP 相当于JavaBean的代码
- 数据结构之线性表
- Android Layout研究 <三> View的布局方式及实例
- 打印机
- 面经总结
- Cocos2d-x 3.x中自定义渲染功能
- Linux 下编译使用Boost
- 二叉树中两个结点的距离
- 揭秘与剖析——乌云安全峰会上的心惊肉跳