Andi Gutmans wrote:

What do you expect to happen?
BTW, I see an additional problem. You aren't supposed to be able to use access modifiers such as public/abstract in an interface definition. This is something we have to fix.
It should be:
interface Drawable {
function draw();
}

I would be very grateful if you could explain the logic behind not being able to define public/protected/private/static access modifiers for interface methods (obviously they are abstract by definition).


AFAICS (not that far I admit!) not being able to define public/protected/private/static for interface methods removes a lot of the power of interfaces (in terms of being able to define specifics)

tia,
jochem

Andi

At 03:26 PM 10/9/2004 +0200, Timm Friebe wrote:

Hi,
the attached script produces:

Fatal error: Can't inherit abstract function Drawable::draw()
(previously declared abstract in Figure) in /usr/home/thekid/r.php on
line 12

which is wrong because I am not inheriting anything but implementing an
interface.

The problem is that both zend_do_inheritance() *and*
zend_do_implement_interface() use (merge_checker_func_t)
do_inherit_method_check.

Want me to open a bug report?

- Timm

--
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