Re: return/parameter types for magic functions
| From: | Levi Morrison | Date: | Thu, 28 May 2015 17:39:41 +0000 |
| Subject: | Re: return/parameter types for magic functions | ||
| References: | 1 2 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-86426@lists.php.net to get a copy of this message | ||
On Thu, May 28, 2015 at 11:38 AM, Levi Morrison <levim@php.net> wrote:
> On Thu, May 28, 2015 at 1:06 AM, Stanislav Malyshev <smalyshev@gmail.com> wrote:
>> Hi!
>>
>> Since we now allow defining return value types for functions, one can
>> also create definition for magic functions that make no sense, such as
>> __toString() : float or __isset() : Closure. I think we should restrict
>> such definitions - either to types that makes sense or in case of
>> methods that aren't supposed to return anything useful, completely. We
>> already do this for ctors, dtors and __clone but not consistently for
>> other magics. Also some values for parameter types make no sense.
>
> My original patch for return types did not allow return types for
> ctors, dtors, and __clone. It seems you did not preserve this? In any
> case no RFC is needed because this was outlined in the RFC:
>
> https://wiki.php.net/rfc/return_types#methods_which_cannot_declare_return_types
>
> The only one that should allow anything for now is __toString which
> would be permitted to declare a return type of string.
My apologies; I misread Dmitry's original statement. Disregard my message.