I understand your point, however, this is the way that other languages
behave and its a feature that i consider to be very necessary and
timesaving. My understanding was that Typehinting exists to save having
to do such if-else clauses all the time, since 99.9% of the time, you
will expect an object of a certain class or nothing at all. The problem
here is that i need only to know that an argument is either an instance
of a class or null, nothing else, but removing the typehinting
effectively means any argument can be passed, and its not longer
enforced at a PHP level, but within my own code... and since this is
something that happens a lot, it seems a shame to loose this handy,
timesaving functionality.
Ray
and Marcus Boerger wrote:
Hello Ray,
Wednesday, June 16, 2004, 4:26:26 PM, you wrote:
Hi all,
[....]
- NOTHING stops you from passing NULL to functions.
- Typhints are a shortcut for an 'instanceof'`test
- now try NULL instanceof stdclass:
php-cvs $ php -r 'var_dump(NULL instanceof stdclass);'
bool(false)
- what you probablywant is
function bla($x) {
if (is_null($x)) {
// handle null
} else if ($x instanceof whatever) {
// handle instance
} else {
// handle error
}
}
- if you look again you'll see that you are doing *three different*
things in your code. Typehints have a different usage!
best regards
marcus
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php