> -----Original Message----- > From: Mike Willbanks [mailto:pen...@gmail.com] > Sent: Thursday, February 26, 2015 9:46 PM > To: Anthony Ferrara > Cc: Dan Ackroyd; Zeev Suraski; Theodore Brown; internals@lists.php.net > Subject: Re: [PHP-DEV] A different user perspective on scalar type > declarations > > Anthony, > > > On Thu, Feb 26, 2015 at 1:29 PM, Anthony Ferrara <ircmax...@gmail.com> > wrote: > > > Mike, > > One point of clarification: > > > This is true, however, the types that you are receiving back form a > > multitude of data sources might be in a mixed format (databases > for example > > often provide representation back as a string, non-json based web > services > > provide mainly as a string, etc). While I know what my data looks > like > > and I know I am always going to get a "string" integer back I do not > want > > to have to type cast this each and every time. Or that I have a > boolean > > integer representation that is in a string... You get the point. > Sure, > I > > could certainly go in and take 5 minutes and cast each one but I'm > not > > certain why the purpose is there... It specifically changes the > > determination that PHP is a weakly typed language and all of a > sudden I now > > need to care that my string integer boolean is not actually a > boolean. > > It's funny that you bring up boolean... > > With the current coercive proposal, you will still need to worry about > the types: https://wiki.php.net/rfc/coercive_sth#coercion_rules > > > For some unbeknown reason I was inside of my head going ok, i have a > string > integer so that would make an integer and then it would make a boolean. > Thank you for pointing out my obvious miss there :) > > > > > Passing boolean(false) where an integer is expected will generate an > error. This is a common practice, specifically around internal > functions. Example: > https://github.com/sebastianbergmann/phpunit/blob/a4e23a10d4ee > ea5fd9fe8916859a07430b94cf42/src/Util/ErrorHandler.php#L58 > > So yes, you'll still need to go in and cast each one **in both RFCs** > (or handle the errors properly). > > > > This is certainly a common case, actually quite often for database > purposes > do we need to handle booleans to integer conversions which my integer > comes back as a string (depending on which extension of course) and which > type field it is.
Can you explain that in a bit more detail? What's the data flow exactly, in both directions? Thanks! Zeev -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php