RE: [PECL-DEV] String extension proposal
| From: | Francois Laupretre | Date: | Wed, 11 Jun 2008 22:49:19 +0000 |
| Subject: | RE: [PECL-DEV] String extension proposal | ||
| References: | 1 | Groups: | php.pecl.dev |
| Request: | Send a blank email to pecl-dev+get-5505@lists.php.net to get a copy of this message | ||
The only thing I am sure about OO strings/arrays is that we cannot have
separate 'native' strings and 'object' strings, even if it is easier to
implement (and __tostring() cannot work for arrays). It also would probably
have a significant impact on performances.
The idea I want to investigate is a wrapper to allow method calls on native
types. Each method would call the corresponding function. If it works, the
next step will be to use return_value_used to modify variables in place if
the result is not used. Then, there will be some other points to consider,
as the possibility to extend these classes, reflection, calling methods on
immediate values,...
Joe : I don't understand why you talk about BC breaks, as the approach I am
taking does not break any BC, it is just an extension to the current syntax.
Or did I miss something ?
I have also started an RFC detailing the methods, type by type. When it is
ready, I'll try to publish it on the RFC wiki.
Regards
François
> De : Mark Frawley [mailto:markfrawley@gmail.com]
>
> The more I think about it the more I like Francois' idea. The idea of
> making them separate is appealing only because it is more realistic.
> I really do believe it is a really good direction for PHP. I haven't
> heard a good argument against it.
> Could someone who is in a decision making capacity find the time to
> address this request? I know it might be tedious to revisit it,
> but it does seem I'm not the only programmer looking for this feature.
>
> Regards,
> Mark
>
> On Tue, Jun 10, 2008 at 9:38 PM, Francois Laupretre
> <flconseil@yahoo.fr> wrote:
> >> De : Joe Stump [mailto:joe@joestump.net]
> >>
> >> as a smart man once said, "I disapprove of what you say
> >> (code), but I will defend to the death your right to say (code) it." ;)
> >
> > +1
> >
> >> I for one would love a unified OO interface for both strings and
> >> arrays as I find them to be more concise. A good example of what I'm
> >> looking for would be:
> >>
> >> $arr = new array('foo');
> >> $foo = $arr->pop();
> >
> > Defining String & Array classes is interesting but it would be
> much better
> > if these objects could remain compatible with native strings and arrays.
> >
> > Combining this with a smart use of return_value_used, it would give
> > something like :
> >
> > $arr=array(' FOO ','bar');
> >
> > $a2=$arr->reverse(); // $arr is not modified, The reversed array is
> > returned.
> >
> > $arr->reverse(); // $arr is reversed in place
> >
> > $s=$arr->pop(); // returns ' FOO '
> >
> > $s2=$s->trim()->tolower(); // returns 'foo'
> >
> > $s->trim(); // $s becomes 'FOO'
> >
> > I know it cannot be done as an extension to the current core
> and implies a
> > mechanism allowing to consider native types as objects (at least to call
> > methods).
> >
> > Please don't reply that it's too complex ot that I'd rather use
> > python/java/cobol(just kidding)...
> >
> > Regards
> >
> > Francois
> >
> >
>
> --
> PECL development discussion Mailing List (http://pecl.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>