我正在尝试创建一个将使用外部api和wpdb类的类但是我已经在try catch块中遇到问题,请确认以下内容是正确的:
<?php
require_once( $_SERVER['DOCUMENT_ROOT'] . '/wp-config.php' );
require_once( $_SERVER['DOCUMENT_ROOT'] . '/wp-includes/wp-db.php' );
class LoLApi
{
private $database;
public function __construct()
{
try {
$this->database = new wpdb('user', 'pass', 'table', '127.0.0.1');
$this->database->show_errors();
} catch (Exception $e) {
return $e->getMessage();
}
}
}
?>
在另一页:
<?php
session_start();
require 'includes/lolapi.class.php';
$api = new LoLApi;
exit();
?>
答案 0 :(得分:0)
您应该检查它是否返回WP_Error对象。如果WP_Error类不存在,它将死掉并转储错误消息。它实际上没有任何异常。
如果你包含wp-load.php,你将拥有WP_Error类,你可以在返回的数据中检查它。您还可以扩展wpdb类并覆盖db_connect方法以抛出正确的异常,而不是在连接失败时终止脚本。