Re: return/parameter types for magic functions
| From: | Levi Morrison | Date: | Thu, 28 May 2015 17:38:52 +0000 |
| Subject: | Re: return/parameter types for magic functions | ||
| References: | 1 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-86425@lists.php.net to get a copy of this message | ||
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.