模型层 半仿 Varien_Object 模型基类
半仿 Varien_Object 模型基类 标记:初学作品,敬请忽略。受 NP新页 指点半模仿 Varien_Object 写的PHP模型基类。介绍很长,见http://stu.szu.edu.cn/blog-dev/open-source/database-model-base.html**使用范例(子
标记:初学作品,敬请忽略。受 NP新页 指点半模仿 Varien_Object 写的PHP模型基类。介绍很长,见http://stu.szu.edu.cn /blog-dev/open-source/database-model-base.html
使用范例(子类)
<?php namespace Model\DataEntity; use StuCampus\DataModel\DbRecord; /** * 新闻分类 * * @author tonyseek * * @property int $id * @property string $name * @property string $linkAddress * @property int $layer * @property int $parentId * @property Model\DataEntity\NewsCategory $Parent */ class NewsCategory extends DbRecord { # 配置信息 /** * 字段信息 * * @var array */ protected static $_dbColumns = array( 'id' => array('field'=>'CategoryID', 'type'=>self::TYPE_INTEGER, 'length'=>4, 'auto'=>true, 'unique'=>'true'), 'name' => array('field'=>'CategoryName', 'type'=>self::TYPE_STRING, 'length'=>60), 'parentId' => array('field'=>'ParentID', 'type'=>self::TYPE_INTEGER, 'length'=>4), 'linkAddress' => array('field'=>'LinkAddress', 'type'=>self::TYPE_STRING, 'length'=>600), 'layer' => array('field'=>'Layer', 'type'=>self::TYPE_INTEGER, 'length'=>2), ); /** * 所属数据表 * * @var string */ protected static $_dbTable = 'NewsCategory'; /** * 所属数据库 * * @var string */ protected static $_database = 'default'; # 受保护成员和私有成员 /** * 父级分类 * * @var \Model\DbObject\NewsCategory */ protected $_parent = null; # 成员方法 /** * 获取父级的 NewsCategory 对象 (映射到动态属性Parent) * * @return Model\DataEntity\NewsCategory */ protected function getParent() { if (null === $this->_parent) { $this->_parent = new self; $this->_parent->load($this->parentId); } return $this->_parent; } }
调用范例
<?php $newsCategory = new NewsCategory; $newsCategory->load(1); echo $newsCategory->name; $saveExample = new NewsArticle; $saveExample->name = 'xxx'; try { $saveExample->save(); } catch (PDOException $ex) { // 视图提示数据库错误 } catch (Exception $ex) { // 视图提示未知错误 }
其他范例
$dbh = DbHandler::factory('default'); DbConnector::factory('default')->transationExecute(function() use ($dbh) { $dbh->sqlString = 'insert xxx'; $dbh->setParam(':xx', $vars, PDO::PARAM_BOOL); $dbh->execute(); $dbh->cleanParams(); // 这句其实可以不写,除非调用的是$dbh->execute(true);否则参数会自动清空 $dbh->sqlString = 'select ***'; $result = $dbh->getDataArray(); var_dump($result); // 该回调函数中执行的操作在事务中,异常时会自动回滚,无异常会自动提交 });
- 上一篇:PHP xpath查找xml节点和节点属性的值
- 下一篇:PHP cookie加密~
收藏文章
精彩图集
精彩文章