Re: Add get_mangled_object_properties()

From: Date: Thu, 06 Jun 2019 07:52:57 +0000
Subject: Re: Add get_mangled_object_properties()
References: 1 2 3 4 5  Groups: php.internals 
Request: Send a blank email to internals+get-105843@lists.php.net to get a copy of this message
On Tue, May 14, 2019 at 4:45 PM Nikita Popov <nikita.ppv@gmail.com> wrote: > On Tue, May 14, 2019 at 4:37 PM Marco Pivetta <ocramius@gmail.com> wrote: > >> >> On Tue, May 14, 2019 at 4:29 PM Benjamin Morel <benjamin.morel@gmail.com> >> wrote: >> >>> I like the explicitness of the proposal, but only if performance is as >>> good >>> as (array) cast. One of the reasons we use casting to array in libraries >>> is >>> not only to access all properties at once, but also because it's fast as >>> it's implemented as an opcode and not a function call. Would this >>> function >>> come with its own opcode, like strlen() / gettype() / etc.? >>> >>> Ben >>> >> >> Indeed. Besides that, this is a good chance to have an explicit >> object >> parameter type. >> >> @Nikic is the return type also array, according to >> reflection? >> > > I'd prefer not to add either of them until the question of type > annotations on internal functions is solved more comprehensively in PHP 8. > In particular adding an "object" type will currently add additional cost to > the call. I hope that we'll solve this problem in PHP 8 and annotate > functions with types in a comprehensive way (including existing functions, > like get_object_vars). > > Nikita > Any more feedback on the addition of get_mangled_object_vars()? Regarding the typehints, I've added an "array" return type for get_object_vars() in PHP 8 ( https://github.com/php/php-src/commit/252216b2ded7d3808e2a909bfea1e805ee17cde5) and will do the same for this function. The argument type is still blocked on some preparatory work. Nikita

« previous php.internals (#105843) next »