PHPDoc for PDO Wrapper

时间:2014-12-06 02:19:51

标签: php pdo phpstorm phpdoc

在为PDO编写轻量级包装器时,我注意到PDO :: Query方法似乎有4种不同的签名可供根据文档使用:

http://php.net/manual/en/pdo.query.php

PHP中不允许进行方法重载,似乎PHPDoc不喜欢这种情况,至少在使用PHPStorm 8.x和以下代码时(我为此示例仅提供了两个签名):

<?php

/**
 * @method \PDOStatement query(string $statement)
 * @method \PDOStatement query(string $statement, int $PDO::FETCH_COLUMN, int $colno)
 */
class Database
{

    private $PDO;

    public function __construct($dsn, $user = null, $pass = null, $options = null)
    {
        $this->PDO = new \PDO($dsn, $user, $pass, $options);
    }

    public function __call($method, $arguments)
    {
        return call_user_func_array(array(&$this->PDO, $method), $arguments);
    }
}

当然,第二个@method语句在PHPStorm中以红色突出显示,并出现以下错误:

&#34;此类中已定义同名的方法&#34;

是否有人建议如何解决这个问题?

0 个答案:

没有答案