• php与数据库对应实体类的命名


    数据库建表时,我们有时会这样命名"resource_id" 来表示这是个resource表里面的"id"字段。当表名比较长时我们可能会这样"resource_ref"表示资源影射表。这样的表通常有外键,很可能就是我们在开头命名的"resource_id"。这时候字段名可能就变成"resource_ref_resource_id"。OK,这样稍微比一长串字符串的命名好认一些。但做实体的时候,你应该不要做一模一样的命名。

    View Code
    1 <?php
    2  class Zwb_Models_Entity_ResourceRef {
    3 private $_id;
    4 private $_roleId;
    5 private $_resourceId;
    6
    7 public function get($key){
    8 return $this->{'_'.$key};
    9 }
    10
    11 public function set($key,$val){
    12 $this->{'_'.$key} = $val;
    13 }
    14 /**
    15 * @return the $id
    16 */
    17 public function getId() {
    18 return $this->_id;
    19 }
    20
    21 /**
    22 * @return the $roleid
    23 */
    24 public function getRoleid() {
    25 return $this->_roleId;
    26 }
    27
    28 /**
    29 * @return the $resourceid
    30 */
    31 public function getResourceid() {
    32 return $this->_resourceId;
    33 }
    34
    35 /**
    36 * @param $id the $id to set
    37 */
    38 public function setId($id) {
    39 $this->_id = $id;
    40 }
    41
    42 /**
    43 * @param $roleid the $roleid to set
    44 */
    45 public function setRoleid($roleid) {
    46 $this->_roleId = $roleid;
    47 }
    48
    49 /**
    50 * @param $resourceid the $resourceid to set
    51 */
    52 public function setResourceid($resourceid) {
    53 $this->_resourceId = $resourceid;
    54 }
    55
    56
    57 }

    对应起来可以这样

    <?php
    class Zwb_Functions_CapitalToUnderline {
    public static function capitalToUnderline($str) {
    $temp
    = preg_split("/(?=[A-Z])/", $str);
    if(count($temp)>1)
    {
    $arr
    = implode('_', $temp);
    return strtolower($arr);
    }
    return $str;
    }
    }
    public function fetchAll($options) {
    $table
    = Zwb_Functions_CapitalToUnderline::capitalToUnderline($options['table']);
    $db
    = Zwb_Models_DbEntry::getInstance()->getdb();
    $objects
    = array();

    $result
    = $db->fetchAll("SELECT * FROM ".$table);
    $objectName
    = 'Zwb_Models_Entity_'.ucfirst($table);
    foreach($result as $row)
    {
    $
    object = new $objectName();
    $objectArray
    = (array) $object;
    foreach($objectArray as $key => $val)
    {
    $key
    = trim(substr($key, strlen($objectName)+3));//类成员为私有,转换时要去除类名
    $tablekey = Zwb_Functions_CapitalToUnderline::capitalToUnderline($key);
    $
    object->set($key, $row[$table.'_'.$tablekey]);
    }
    $objects[]
    = $object;
    }
    return $objects;
    }
  • 相关阅读:
    TERSUS无代码开发(笔记43)-整理可视化元件手册-13文本/字符串处理元件(28个)
    TERSUS无代码开发(笔记42)-整理可视化元件手册-12安全控制元件(9个)
    TERSUS无代码开发(笔记41)-整理可视化元件手册-11数学元件(29个)
    TERSUS无代码开发(笔记40)-整理可视化元件手册-10流程处理元件(4个)
    TERSUS无代码开发(笔记39)-整理可视化元件手册-09显示元件(40个)
    java实现md5加密
    redis的配置文件redis.conf常用配置
    centos7中安装redis出现的问题
    队列
    生产者 和 消费者
  • 原文地址:https://www.cnblogs.com/bobolive/p/1977518.html
Copyright © 2020-2023  润新知