Re: while we're at it (PHP-5.1 & instanceof)
| From: | Alan Knowles | Date: | Wed, 15 Jun 2005 23:36:19 +0000 |
| Subject: | Re: while we're at it (PHP-5.1 & instanceof) | ||
| References: | 1 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-16713@lists.php.net to get a copy of this message | ||
http://www.akbkhome.com/blog.php/View/75/removing+that+stupid+is_a
+warning..html
You're not the only one ;)
Regards
Alan
On Wed, 2005-06-15 at 23:15 +0200, Michael Wallner wrote:
> I already complained about that issue several times on IRC
> and now that it's time for PHP-5.1 to come, I'll just throw
> this question/rant in...
>
> Using is_a() throws a notice (E_STRICT IIRC) in PHP5, which
> should be fine, because it was deprecated in favour of the
> instanceof operator. But there's quite an ugly problem with
> the instnceof operator - it needs the class to be checked
> already loaded, while is_a() didn't -- *and* instanceof
> let the script _die_ if there's no such class.
>
> To replace
> is_a($obj, 'ClassName')
> calls one would need to write
> class_exists('ClassName') && ($obj instanceof ClassName)
>
> The point is, that I don't see the point why is_a() has been
> deprecated (and replaced) by an operator that doesn't provide
> the same functionality and can even be harmful (with fatal errors).
>
> Regards,
> Mike
>