如何制作类似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();
答案 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();
?>