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
Andi Gutmans
21 years ago
Will look into it.
At 11:15 PM 6/15/2005 +0200, Michael Wallner wrote:
Alan Knowles
21 years ago
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:
Andi Gutmans
21 years ago
Seems to work...
At 11:15 PM 6/15/2005 +0200, Michael Wallner wrote:
Michael Wallner
21 years ago
Hi Andi Gutmans, you wrote:
> Seems to work...
Sorry, what seems to work what way?
Thanks,
--
Michael - < mike(@)php.net >
Andi Gutmans
21 years ago
instanceof calls __autoload()
At 04:02 PM 6/16/2005 +0200, Michael Wallner wrote:
Michael Wallner
21 years ago
Hi Andi Gutmans, you wrote:
> instanceof calls __autoload()
Well, what for I wonder?
If the class is not defined, no object can be an instance of it...
Regards,
--
Michael - < mike(@)php.net >
Andi Gutmans
21 years ago
Because it's a generic way of fetching classes and there's no reason to
change it.
If there's a real problem then email me.
Andi
At 04:55 PM 6/16/2005 +0200, Michael Wallner wrote:
Wez Furlong
21 years ago
It seems a bit over-zealous to throw a fatal error when you're writing
code to avoid a fatal error.
If autoload fails, instanceof should simply return false.
--Wez.
On 6/16/05, Andi Gutmans <andi@zend.com> wrote: