Hello Andi, Zeev, internals, after readin the PHP articles on PHP5 and the rerequested typehinting for arrays i once again thought about typehints and NULL.
At the moment typehints allow NULL always. That is complete nonsense because NULL doesn't pass any instance-of check. And in general there is only one operation that leagally returns true when working with NULL values. That is NULL === NULL. In php NULL == NULL simply returns true because NULL equals zero. Hence: $ php -r 'var_dump(NULL == NULL);' bool(true) $ php -r 'var_dump(NULL == 0);' bool(true) $ php -r 'var_dump(NULL === NULL);' bool(true) AND: $ php -r '$o=new stdClass; var_dump($o instanceof stdClass);' bool(true) $ php -r 'var_dump(NULL instanceof stdClass);' bool(false) At least we must find a way to decide whether or not NULL should be allowed NULL. Yes enforcing NOL NULL would make too many people complain they cannot pass a NULL by ref to have it returned as an instance of the class - though reconsider your code should be the answer here. Looking up the discussions about the issue we already had a solution for this from Zeev. function allowingNULL(object $val = NULL) function preventNULL(object $val) any thoughts? Just to stress out: The current situation doesn't respect generally accepted inheritance rules. Best regards, Marcus -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php