Hi, >From a user perspective, I agree that this would probably be the most useful behaviour of all. "Type hint" would then mean*: Hint at what type the variable should have. If possible, convert it to the target type; if it is not even compatible, throw an error*.
Regards, Guillaume Rossolini On Thu, Jun 19, 2008 at 6:08 PM, Saulo Vallory <[EMAIL PROTECTED]> wrote: > What if by type hint a parameter, php automatically tries to convert the > argument into that type and throws an exception ONLY if it couldn't be > done? > > for example: > > function concat(string $a, string $b) > { > return $a.$b; > } > > I can do: > concat(1,'1'); > concat(2.5,' pigs'); > concat(new ConvertibleToStringObject, 15); > > But if I do: > > concat(new NonConvertibleToStringObject, 15); > > PHP throws an exception saying the function needs a string, but the > parameter couldn't be converted... > > Can this make everybody happy? > > Cheers, > > Saulo Vallory > > On Wed, Jun 18, 2008 at 9:30 PM, Edward Z. Yang < > [EMAIL PROTECTED]> wrote: > > > Fabrice VIGNALS wrote: > > > In mathematic, equal meen the same value AND the same nature. > > > The follow fact could be frustrating : > > > > Usually, context is good enough to disambiguate between the cases. The > > most prevalent convention in programming languages is = is assignment, > > and == is comparison (PHP adds === only because of its type-juggling > > system). Other languages have = as comparison, and := as assignment. > > Donald Knuth uses = as comparison, and a left arrow (<-) for assignment. > > > > -- > > Edward Z. Yang GnuPG: 0x869C48DA > > HTML Purifier <http://htmlpurifier.org> Anti-XSS Filter > > [[ 3FA8 E9A9 7385 B691 A6FC B3CB A933 BE7D 869C 48DA ]] > > > > -- > > PHP Internals - PHP Runtime Development Mailing List > > To unsubscribe, visit: http://www.php.net/unsub.php > > > > >