5

所以我有这个类:

class JSObjectStorage extends \SplObjectStorage
{

    /**Adds a JavaScript object inside the storage, and optionally associate it to some data.*/    
    public function attach($javaScript, $data = null){}

    /**Removes the object from the storage.*/
    public function detach($javaScript){}

    /**Adds all objects-data pairs from a different JavaScriptBundle storage in the current storage.*/
    public function addAll(\SplObjectStorage $storage){}

    /**Removes objects contained in another storage from the current storage.*/
    public function removeAll(\SplObjectStorage $storage){}

    /**Removes all objects except for those contained in another storage from the current storage.*/
    public function removeAllExcept(\SplObjectStorage $storage){}

    /**Alias to JSObjectStorage::attach. */    
    public function offsetSet($javaScript, $data = null){}

    /**Alias to JSObjectStorage::detach*/
    public function offsetUnset($javaScript){}

    /**Returns the data associated with an object in the storage.*/
    public function offsetGet($javaScript){}

    /**This method calculates an identifier for the objects added to JSObjectStorage object.*/
    public function getHash($javaScript){}
}

这是 SplObjectStorage:

http://php.net/manual/en/class.splobjectstorage.php

如您所见,它们是相同的,但是当我实例化 JSObjectSTorage 时,出现以下错误:

严格标准:MOWAFW\Core\Type\JavaScript\JSObjectStorage::addAll() 的声明应与 /Users/ ** /JSObjectStorage.php 175 行中的 SplObjectStorage::addAll() 的声明兼容

这发生在 removeAll() 和 removeAllExcept() 上。

有任何想法吗?!


我正在使用:

PHP 5.3.10 with Suhosin-Patch (cli) (built: Feb 20 2012 22:55:53) 
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies
    with Xdebug v2.1.2, Copyright (c) 2002-2011, by Derick Rethans
4

1 回答 1

3

有人发布了题为“名称空间接口由于类型提示问题而无法工作”(错误#40653)的错误报告,尽管 PHP 版本不同(它读取v. < 5.3.7),但它看起来像您的情况。

于 2012-10-31T00:36:43.400 回答