用于make类的oop结构,如PDO类结构

时间:2015-04-16 05:01:49

标签: php oop design-patterns pdo orm

如何制作类似PDO或ORM的类结构

 $query = DB::table('users')->select('name');

 $users = $query->addSelect('age')->get();

OR

 $stmt = $pdo->prepare($sql);
 $stmt->bindvalue(':u',intval($_SESSION['userId']),PDO::PARAM_INT);
 $stmt->execute();

返回$ query或$ stmt?

的内容

如何像他们一样设计类结构?

谢谢

修改

 $query = DB::table('users')->select('name');
 meaning : 
 function select(){
  //
  return $this;
 }

为此结构返回$ query的内容:

 $query->addSelect('age')->get();

1 个答案:

答案 0 :(得分:0)

我并不确切知道PDO内部是如何完成的,您可以在PHP手册网站上查看read more about it,但这在应用它时具有类似的结构。你可以采取这一点,至少摆弄它。在这种情况下,允许将新变量重新分配给对象的每个部分,因为正在返回$this

<?php
    class   DBClass
        {
            protected   $connection;
            protected   $value;

            public  function __construct($connection)
                {
                    $this->connection   =   $connection;
                }

            public  function prepare($value)
                {
                    $this->value    =   $value;
                    return $this;
                }

            public  function execute()
                {
                    echo $this->value;
                    return $this;
                }
        }

    $con    =   new DBClass("login creds");
    $query  =   $con->prepare("update stuff if stuff = 'things'");
    $query->execute();
?>