Re: TextIterator changes
[email protected] (Michael Wallner)
| Newsgroups | php.i18n,php.internals |
|---|---|
| Message-ID | <[email protected]> |
Andrei Zmievski wrote:
> I am working on implementing BreakIterator API [1]. I considered two
> approaches: making a separate class or merging the API into the existing
> TextIterator. Having a separate class would be a bit cleaner, but I can
> see people wanting to use it in foreach(), and since TextIterator
> already provides a lot of BreakIterator's functionality, I decided that
> merging would be the best option. However, there is an overlap between
> the BreakIterator API and the current TextIterator one, so there will
> have to be some changes.
>
> 1. TextIterator::current() signature will change from:
>
> mixed current()
>
> to:
>
> mixed current(integer &$offset)
This will raise the same issue as we have/had with the reflection API:
mike@honeybadger:~/build/php-unicode-debug$ cli -r 'interface i{function f();} class c implements i{function f($a){}}'
Fatal error: Declaration of c::f() must be compatible with that of i::f() in Command line code on line 1
Nah, don't look at me--I don't like that either.
> 3. TextIterator::rewind() will be renamed to TextIterator::first() to
> conform to BreakIterator's first()/last() API.
>
> So this is heads up. Let me know if you have a problem with this.
Huh? Rename or alias? It can't implement Iterator if there's no rewind() method.
Regards,
--
Michael