所以这是我多年来一直想要解决的问题。将一些小型(单文件)应用程序转换为 PDO。我可以使用 PDO,连接到数据库并运行查询,一切正常。
但是每次我初始化一个新的 PDO 时,我还必须运行
setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
是的,它只有一行,但有一天我可能需要在其中添加更多的东西。对我来说,以某种方式扩展 PDO 类似乎更好,这样我就可以用一行来启动我的数据库连接。创建我自己的类,即使在这个阶段只添加一行代码,如果我决定在未来添加任何其他东西,我也会有未来的保障。
我发现了类似的东西......
class myPDO extends PDO {
public function __construct($dsn, $user=null, $pass=null, $options=null) {
parent::__construct($dsn, $user, $pass, $options);
$this->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
}
// THEN A SIMPLE 1 LINER TO CONNECT - USING TRY/CATCH AS WELL OF COURSE
$pdo_conn = new myPDO($cfg['pdo_dsn'], $cfg['pdo_user'], $cfg['pdo_pass'], $cfg['pdo_options']);
在扩展类时,我假设我实际上不需要重新创建构造函数。
有没有一种方法可以在不重新创建构造函数的情况下将我的类集成$this->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
到我的类中?
我刚刚开始使用 PHP 的类语法,所以这对某人来说是一个非常基本的问题,但它会同时为我回答一些其他问题。