Re: [RFC] Scalar Type Hints

From: Date: Thu, 01 Jan 2015 16:36:23 +0000
Subject: Re: [RFC] Scalar Type Hints
References: 1 2 3 4  Groups: php.internals 
Request: Send a blank email to internals+get-80056@lists.php.net to get a copy of this message
On Thu, Jan 1, 2015 at 4:59 PM, Marcio Almada <marcio.web2@gmail.com> wrote: > The battle between strict type declarations vs coercive has been here for a > while. My problem with coercion in detriment of strictness is > that sometimes you DON'T WANT TYPE CASTING AT ALL. This new feature would > create serious impediments. So I wonder if we couldn't have both (strict > and coercive types declarations) and leave the current proposed type > hinting syntax reserved for strict type declarations? Like in: > > function(int $a, (int) $b) { > // $a will be strict > // $b will be type casted > } > > This way we can actually choose when to cast and when to be strict and both > features could be voted independently without affect each other possible > future adoptions. > for the record this was proposed (as an idea) previously with the exact same syntax(the earlies mention I could find in my mailbox was from Derick from 2009: http://comments.gmane.org/gmane.comp.php.devel/57653 but I remember seeing it every time when this discussion happens). If somebody is interested in previous attempts/discussion on the topic, here are some links for starters: http://nikic.github.io/2012/03/06/Scalar-type-hinting-is-harder-than-you-think.html http://blog.ircmaxell.com/2012/03/parameter-type-casting-in-php.html https://wiki.php.net/rfc/parameter_type_casting_hints https://wiki.php.net/rfc/typechecking -- Ferenc Kovács @Tyr43l - http://tyrael.hu

« previous php.internals (#80056) next »