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
>
>

Reply via email to