问题与重写MongoCollection ::更新(Issue with overriding Mo

2019-10-18 03:23发布

我运行PHP的以下版本:PHP 5.3.15用了Suhosin贴片(CLI)(建:2012年8月28日18时十九分13秒)。

我有一个从\ MongoGridFS继承的类:

class PdfGrid extends \MongoGridFS {
// ...

public function update( array $criteria , array $new_object, array $options = array()){
    $options['safe'] = true;
    if ( isset($criteria['_id']) && ! $criteria['_id'] instanceof \MongoId){
        $criteria['_id'] = new \MongoId($criteria['_id']);
    }
    return parent::update($criteria, $new_object, $options);
}
} 

每当我运行使用这个类的脚本,我得到以下错误:

PHP严格的标准:YS \ MongoCollection \ PdfGrid的::更新声明()应当与MongoCollection ::在/Users/js/dev/YsInv/lib/YS/MongoCollection/PdfGrid.php更新()上线68兼容

但很可惜,在定义上php.net为\ MongoCollection看似::更新精确匹配:

公共BOOL |阵列MongoCollection ::更新(数组$标准,数组$ new_object [,数组$选项=阵列()])

文章来源: Issue with overriding MongoCollection::update