On Tue, May 14, 2019 at 4:37 PM Marco Pivetta <ocram...@gmail.com> wrote:

>
> On Tue, May 14, 2019 at 4:29 PM Benjamin Morel <benjamin.mo...@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

Reply via email to