php WPDB抽象
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php WPDB抽象相关的知识,希望对你有一定的参考价值。
<?php
use Exception;
/**
* Class Connection
*
* Adds a layer of abstraction over WP's $wpdb global for
* DB operations
*
* @package Manager\WPDatabase
*/
class Connection {
/**
* @var \wpdb - WP instance of DB
*/
private $wpdb;
/**
* Connection constructor.
* Accepts $wpdb global
*
* @param \wpdb $database
* @throws Exception
*/
public function __construct(\wpdb $database) {
try {
$connected = $database->check_connection();
if ($connected) {
$this->wpdb = $database;
}
} catch(\Throwable $e) {
echo $e->getMessage();
}
}
/**
* Filter SQL through WPDB prepare method
*
* @param string $sql
* @param array $args
*
* @return string|void
*/
public function prepare(string $sql, array $args) {
return $this->wpdb->prepare($sql, $args);
}
/**
* Queries WP DB
*
* @param string $sql
* @throws Exception
*/
public function query(string $sql) {
try {
$this->wpdb->query($sql);
} catch (Exception $e) {
echo $e->getMessage();
}
}
/**
* Returns result of WPDB query, as an associative array
*
* @param string $sql
*
* @return array|bool|null|object
*/
public function getResults(string $sql) {
$result = false;
try {
$result = $this->wpdb->get_results($sql, ARRAY_A);
} catch (Exception $e) {
echo $e->getMessage();
}
return $result;
}
}
以上是关于php WPDB抽象的主要内容,如果未能解决你的问题,请参考以下文章
php WordPress:使用$ wpdb进行分页
将 wpdb sql 数组转换为 php 数组
wordpress仅包含wpdb(wpdb for ajax)
php facetwp facetwp_wpdb_sql过滤器
Wordpress 全局 $wpdb 函数问题
$wpdb->update 或 $wpdb->insert 导致在引号前添加斜杠