Re: [RFC][DISCUSSION] Object type hint

From: Date: Mon, 24 Oct 2016 05:00:44 +0000
Subject: Re: [RFC][DISCUSSION] Object type hint
References: 1 2  Groups: php.internals 
Request: Send a blank email to internals+get-96569@lists.php.net to get a copy of this message
I can see uses for it, although none of them are impossible without the object typehint - they currently do an is_object() check. In the same way that Iterable type hint allows you to safely do a foreach on an argument, object allows you to safely use property accessor syntax (i.e. ->). For me it would be most useful in lower level utility classes. Cheers Stephen > On 24 Oct 2016, at 06:04, Stanislav Malyshev <smalyshev@gmail.com> wrote: > > Hi! > >> I would like to initiate discussion for Object typehint RFC >> https://wiki.php.net/rfc/object-typehint > > I don't see why it would be important that the variable is an object but > not important which kind of an object. There's very small number of > things you can do with an object without knowing the exact type. For > generic functions, like serialization, there's no reason why they > shouldn't be able to serialize integers or nulls or booleans. On the > contrary, many objects would not be serializable. For less generic > functions, like DI containers, object type is next to useless since you > can't just pass any object to implement a service - it should actually > implement the required service. So adding "object" does not add real > specificity to it. > >> This feature is developed to provide missing functionality which is needed >> and quite easy to introduce. >> There are many people which I've talked about the benefits of this >> functionality. >> >> For those who doesn't like the idea and think they won't need neither use >> it rather than just saying 'no' they >> please say why other people who want to use that parameter type are wrong, >> for wanting to do that. > > They probably think more "strictness" and more checks means better code. > It is usually not true per se. E.g. in the RFC examples the type does > not seem to be serving a good purpose - it's either wrong (like in the > case of json_decode - it won't always return an object), or nonspecific > - like in factory, very rarely one has a factory returning just > arbitrary objects, no matter what they are. > -- > Stas Malyshev > smalyshev@gmail.com > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php >

« previous php.internals (#96569) next »