
批改狀態(tài):合格
老師批語(yǔ):
代碼塊
<?php/** * 事件委托 : 數(shù)據(jù)庫(kù)查詢構(gòu)造器 * Db::table()->field()->where()->limit()->select()->toArray(); * */ //被委托的類class Query{ protected $db;//pdo連接對(duì)象 protected $table; protected $field; protected $limit; protected $value; //連接數(shù)據(jù)庫(kù) private function connect($dsn,$username,$password) { $this->db = new PDO($dsn,$username,$password); } function __construct($dsn,$username,$password) { $this->connect($dsn,$username,$password); } //數(shù)據(jù)表方法 public function table($table) { $this->table = $table; return $this; } public function field($field) { $this->field = $field; return $this; } public function limit($limit) { $this->limit = $limit; return $this; } public function value($value) { $this->value = $value; return $this; } public function getSql() { return sprintf('INSERT INTO %s (%s) VALUE(%s)',$this->table,$this->field,$this->value); } //執(zhí)行查詢 public function select() { return $this->db->query($this->getSql())->fetchAll(PDO::FETCH_ASSOC); } public function insert() { return $this->db->exec($this->getSql()); }}//工作類class Db{ static function __callStatic($method,$args) { $dsn = 'mysql:host=localhost;dbname=video'; $username = 'root'; $password = 'root'; $query = new Query($dsn,$username,$password); //直接委托給Query類中的具體方法完成 return call_user_func([$query,$method],...$args); }}$res = Db::table('admins')->field('username,password,truename,gid,add_time')->value("'aaa',321,'fdsaf',1,52342")->insert();echo '<pre>';print_r($res);
效果
微信掃碼
關(guān)注PHP中文網(wǎng)服務(wù)號(hào)
QQ掃碼
加入技術(shù)交流群
Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號(hào)