Php 覆盖MongoCollection::update时出现问题
我正在运行以下版本的PHP:PHP5.3.15和Suhosin补丁(cli)(构建日期:2012年8月28日18:19:13) 我有一个从\MongoGridFS继承的类:Php 覆盖MongoCollection::update时出现问题,php,oop,mongodb,inheritance,overriding,Php,Oop,Mongodb,Inheritance,Overriding,我正在运行以下版本的PHP:PHP5.3.15和Suhosin补丁(cli)(构建日期:2012年8月28日18:19:13) 我有一个从\MongoGridFS继承的类: class PdfGrid extends \MongoGridFS { // ... public function update( array $criteria , array $new_object, array $options = array()){ $options['safe'] = true;
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严格标准:第68行/Users/js/dev/YsInv/lib/YS/MongoCollection/PdfGrid.PHP中的YS\MongoCollection\PdfGrid::update()声明应与MongoCollection::update()声明兼容
但遗憾的是,该定义与php.net上显示的\MongoCollection::update完全匹配:
public bool | array MongoCollection::update(array$criteria,array$new_object[,array$options=array())
通常,最好是包装这些对象,而不是扩展它们。不要相信文档。请查看本地托管的MongoCollection::update()定义。文档可能已过时。