zoukankan      html  css  js  c++  java
  • 数据对象映射模式(及对象的相关属性和数据库表中的字段一一对应)

    <?php
    define("BASDIR",__DIR__);
    include BASDIR."/Phpclass/Loader.php";
    spl_autoload_register("\Phpclass\Loader::autoload_rege");

    $user = new PhpclassUser(1);

    var_dump($user->id,$user->username,$user->phone_no,$user->retime);

    $user->username = "nfyx1";//这里相当于 给user类中的属性赋值
    $user->phone_no = "132451111111";
    $user->retime = date("Y-m-d H-i-s");

    //最后,在程序执行完时,调用__destruct()函数,把函数里的代码调协成update sql 语句,这时改变当前值,就等于更新一条数据。
    -----------------------------------------------------------------------------------Index4.php
    <?php
    //对应的映射到数据库中的user
    namespace Phpclass;


    class User
    {
    public $id;
    public $username;
    public $phone_no;
    public $retime;

    protected $db;

    function __construct($id)
    {
    $this->db= new DatabasesMysqlis();//创建一个Mysqlis对象,并把他保存到$db中;这里依赖于Databases目录下的Mysqlis.php文件
    $this->db->connect("127.0.0.1","root","root","nfyx");//连接
    $res=$this->db->query("select * from user where id=$id");//查询

    $data=$res->fetch_assoc();//把结果集遍历成一个数组$data;

    $this->id=$data['id'];//把数组中的值 赋值 给当前对应的变量;
    $this->username=$data['username'];
    $this->phone_no=$data['phone_no'];
    $this->retime=$data['retime'];


    }
    function __destruct()
    {
    $this->db->query("update user set username='{$this->username}',phone_no='{$this->phone_no}',retime='{$this->retime}' where id='{$this->id}'");
    }

    }
    
    
    -----------------------------------------------------------------------------------User.php,对应的数据库里的表
     
  • 相关阅读:
    tcp/ip协议listen函数中backlog參数的含义
    oracle exp实例
    js21---单体(单例)模式
    js20---接口3种方式
    js19--继承终极版本
    js18--继承方式
    js17---创建对象:构造函数式和原型组合模式、动态原型模式、稳妥构造函数式
    js16--自定义原型对象
    js---15,模拟数组的ecah方法
    js14--原型2
  • 原文地址:https://www.cnblogs.com/nfyx/p/10747628.html
Copyright © 2011-2022 走看看