我正在扩展MongoCollection类,我收到了这条消息。
Db\Mongo\Collection::save()的声明应该与MongoCollection的声明兼容::save()
据我所知,这通常是一个婴儿车报关小姐匹配。
Php.net说这些婴儿车是:
公共混合保存(数组对象$a,数组$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())我和其他许多人似乎无法匹配这一类型。
有人对如何纠正这个错误有任何想法吗?如何将pram声明为数组\对象?
发布于 2014-03-22 14:53:43
我犯了这个错误
严格标准:MyMongoCollection的声明::save()应该与MongoCollection::save($array_of_fields_OR_object,数组$options =NULL兼容)
所以我试着:
class MyMongoCollection extends MongoCollection {
public function save($arr_obj, array $options= null) {
}
}而且起作用了。
发布于 2014-03-21 17:12:15
我想知道是否可以使用MongoCollection::save()获得有关ReflectionClass方法的任何信息:
$reflection = new ReflectionClass( 'MongoCollection' );
foreach ( $reflection->getMethod('save')->getParameters() as $param )
{
var_dump( $param->getName(), $param->isArray(), $param->isOptional() );
}要获得丢失的部分,在这种情况下,文档不是最新的吗?
ps:这是一个从这张票获取的稍微修改过的代码示例。
似乎存在类似的问题:扩展update类的MongoGridFS扩展的MongoCollection方法:
https://stackoverflow.com/questions/22387803
复制相似问题