Class :: save()的声明应该与Class :: save()的声明兼容

Ron*_*per 6 php extending mongodb

我正在扩展MongoCollection类,我收到了这条消息.

Db\Mongo\Collection :: save()的声明应该与MongoCollection :: save()的声明兼容

据我所知,这通常是一个婴儿车宣言未命中赛.

Php.net说,婴儿车是:

public mixed save(array | object $ a [,array $ options = array()])

我已尝试以下所有方法来解决此问题:

public function save(array &$a, array $options = array())
public function save($a, array $options = array())
public function save(&$a, array $options = array())
public function save($a, $options = array())
public function save($a = array(), $options = array())
Run Code Online (Sandbox Code Playgroud)

还有很多其他人,我似乎无法匹配这种类型.

有没有人对如何解决这个错误有任何想法?你如何将一个婴儿车声明为数组对象?

Luc*_*one 3

我收到这个错误

严格标准: MyMongoCollection::save() 的声明应与 MongoCollection::save($array_of_fields_OR_object, array $options = NULL) 兼容

所以我尝试:

class MyMongoCollection extends MongoCollection {

    public function save($arr_obj, array $options= null) {

    }

}
Run Code Online (Sandbox Code Playgroud)

它有效。