Thanks Timm.

Sebastian, what do you think?

Andi

At 01:06 AM 12/23/2004 +0100, Timm Friebe wrote:
On Wed, 2004-12-22 at 14:28 -0800, Andi Gutmans wrote:
> Hi,
>
> It seems that in the past few months ReflectionClass::getMethod() was
> changed to throw an Exception if the method doesn't exist.

-- snip --
revision 1.113
date: 2004/07/19 19:14:10;  author: sebastian;  state: Exp;  lines: +9
-5
Make ReflectionClass::getMethod() and ReflectionClass::getProperty()
raise an ReflectionException instead of returning NULL on failure.
-- snip --

> I don't understand the reasoning because as it's a reflection API I
> would expect it to return false

NULL would be better, IMO, but nevertheless.

> and not an exception. Exceptions should be thrown for errors. As long
> as we don't have hasMethod() then I think this behavior is wrong.

Agreed.

> Can anyone shed some light on this? Why was this changed? Marcus?

Ask Sebastian:)

I think what Sebastian wanted to do is:

  $reflectionClass->getMethod('abc')->invoke($object);

...and not have this bail with a fatal error when getMethod() returns
NULL, but raise an exception. Fine. I still think NULL->method() should
throw a NullPointerError instead of bailing but I also agree with Andi
that as long as there is no hasMethod() throwing an exception is
unacceptable.

--
Timm
If it ain't broken, it doesn't have enough features yet

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

-- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php



Reply via email to