Re: Invokation on __toString() for object used as array key
| From: | Florian Margaine | Date: | Thu, 25 Sep 2014 10:22:30 +0000 |
| Subject: | Re: Invokation on __toString() for object used as array key | ||
| References: | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-77620@lists.php.net to get a copy of this message | ||
Hi,
Joe Watkins wrote (for fun) a new operator,
addressof. Code is here:
https://github.com/krakjoe/php-src/compare/addressof
I think it makes more sense than a new method on all objects. You could use
it for any kind of value: scalar, resource, object. Building an array of
sockets, for example, would be very easy with such an operator.
It would also give better tools to deal with situations such as:
$test = 1;
$test2 &= $test;
I'm willing to write an RFC if necessary to include it.
Thoughts?
On Thu, Sep 25, 2014 at 11:50 AM, Pierre Joye <pierre.php@gmail.com> wrote:
> On Wed, Sep 24, 2014 at 9:44 PM, Andrea Faulds <ajf@ajf.me> wrote:
> >
> > On 24 Sep 2014, at 20:39, Stas Malyshev <smalyshev@sugarcrm.com> wrote:
> >
> >>> I also wonder why we still need them. Doing what has been done with gmp
> >>> for all resources would be a good move for 7.
> >>
> >> In general, I think we do not - IIRC everything resources do objects can
> >> do better now, and the problems that prevented one from using objects
> >> instead of resources are long gone.
> >>
> >> However, is_resource() checks and lots of third-party extensions using
> >> resources may be a bit of a problem for eliminating them.
> >
> > I already figured out how to solve the is_resource()
> > issue. Create an
> almost-useless, uninstantiatable class called Resource which any new
> resource-replacing classes inherit from. Then, make
> is_resource() check
> whether something is an instance of that class.
> >
> > Of course, 3rd-party extensions are still a problem, but this should
> mostly fix it. Of course, gettype() is still going to return “object” not
> “resource”, but I suspect people are more likely to use is_resource().
>
> Is it really necessary? I could imagine a transition with 5.7 for
> that, similar to gmp.
>
> Cheers,
> --
> Pierre
>
> @pierrejoye | http://www.libgd.org
>
--
Regards,
*Florian Margaine*