PHP:SeekableIterator::seek()

PHP:SeekableIterator::seek(),php,seek,seekableiterator,Php,Seek,Seekableiterator,如果我想实现seek()来完成SeekableIterator接口,如果SeekableIterator位置无效,我是否应该在内部恢复到旧位置?像这样: public function seek( $position ) { $oldPosition = $this->_position; $this->_position = $position; if( !$this->valid() ) { $this->_positi

如果我想实现seek()来完成SeekableIterator接口,如果SeekableIterator位置无效,我是否应该在内部恢复到旧位置?像这样:

public function seek( $position )
{
    $oldPosition = $this->_position;
    $this->_position = $position;
    if( !$this->valid() )
    {
        $this->_position = $oldPosition;
        throw new OutOfBoundsException( 'Invalid seek position (' . $position . ')' );
    }
}

如果您使用php.net作为指南,那么不,您不应该“还原”到原始位置,即使提供的目标位置无效。

根据,您仍然应该更改位置。

我知道我们有相同的想法。