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

标签 php mongodb extending

我正在扩展 MongoCollection 类并收到此消息。

Declaration of Db\Mongo\Collection::save() should be compatible with that of 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())

还有许多其他人,我似乎无法匹配该类型。

有人对如何解决此错误有任何想法吗?如何将婴儿车声明为数组|对象?

最佳答案

我收到了这个错误

Strict Standards: Declaration of MyMongoCollection::save() should be compatible with MongoCollection::save($array_of_fields_OR_object, array $options = NULL)

所以我尝试了:

class MyMongoCollection extends MongoCollection {

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

    }

}

它有效。

关于php - Class::save() 的声明应该与 Class::save() 的声明兼容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22387803/

相关文章:

mongodb - 使用 Karras 从 Mongo 集合中获取文档

mongodb - mongodb 中的最大距离 : issue in finding near by data

java - 抽象类扩展了Java和Android的多种类型的 Activity

Java 和 Hadoop : Incompatible types with TextInputFormat

php - 在 PHP 的一次调用中追加/连接多个字符串?

php - 上传sendfile文件作为附件并在php中下载该文件

node.js - MongoDB 获取有条件字段的 SUM

php - 查找/链接两个 MySQL 表

php - 我可以仅通过数据中的字母和数字查询列吗?比如 preg_replace

python - 如何在 C/C++ 扩展模块中创建一个在 Python 代码中定义的类的新实例?