NetBeans 中的 PDO 代码完成

PDO code completion in NetBeans

我从 NetBeans 7.0 版开始使用它,从那时起我最喜欢 IDE for PHP,但今天我将它用于一个项目,它给我带来了 PDO 代码完成方面的问题. 有两种情况,

1) 如果我在同一页上实例化 PDO 对象,则所有代码完成都是正确的。

2) 但是当我将我的 PDO 对象保存在另一个文件中并需要该文件时,代码完成不起作用。

例子

1)

<?php
/**
 * In this case the code completion works fine
 */
try {
    $db = new PDO('mysql:host=localhost;dbname=tshop', 'root', 'mypass');
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $sql = 'SOME SQL QUERY';
    $result = $db->query($sql);
} catch (Exception $ex) {
    $error = $ex->getMessage();
}

2

<?php
/**
 * But in this case it doesn't work
 */
try {
    require_once '../../includes/database_connection.php';
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $sql = 'SOME SQL QUERY';
    $result = $db->query($sql);
} catch (Exception $ex) {
    $error = $ex->getMessage();
}

先谢谢大家了!

添加评论应该可以解决我认为的问题:

try {
    require_once '../../includes/database_connection.php';
    /* @var $db PDO */
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $sql = 'SOME SQL QUERY';
    $result = $db->query($sql);
} catch (Exception $ex) {
    $error = $ex->getMessage();
}

也就是说,如果我是,我不会以这种方式建立数据库连接,因为如果您不小心,您很容易意外地建立多个连接,这可能会超过最大连接数。