ID:               32427
 User updated by:  jason at amp-design dot net
 Reported By:      jason at amp-design dot net
 Status:           Assigned
 Bug Type:         Zend Engine 2 problem
 Operating System: Cent OS 3
 PHP Version:      5CVS-2005-03-23 (dev)
 Assigned To:      andi
 New Comment:

It appears in the later CVS versions of PHP that this bug seems to have
gone. It appears to be fixed (maybe someone double check, and close it)


Previous Comments:
------------------------------------------------------------------------

[2005-03-30 18:51:12] [EMAIL PROTECTED]

Assigning to Andi, as he's the author of this change:
http://cvs.php.net/diff.php/ZendEngine2/zend_compile.c?php=69434a7f33b2b7d3cc6152f95b1a307f&r1=1.596&r2=1.597&ty=u

------------------------------------------------------------------------

[2005-03-23 13:27:27] jason at amp-design dot net

Description:
------------
In the 5.1.0 branch (this morning's build), there seems to be a problem
with interfaces and static methods.

If a method is declared as static, it raises an error.

Upon removing the public static keywords from the interface, I get an
error because the class implementing this interface has a different
signature / declaraton from the interface, Thus meaning static members
are a no-no with interfaces.

This was tested on this morning's snapshot build of 5.1.0. I assume
that this is a bug and not some daft change in behavoiour you want to
push into the 5.1.x branch of PHP as it would break a lot of existing
PHP5 code.

Reproduce code:
---------------
<?php

interface Example {
        public static function sillyError();
}

class ExampleImpl implements Example {
        public static function sillyError() {
                echo 'I am a silly error';
        }
}

ExampleImpl::sillyError();

?>

Expected result:
----------------
I am a silly error

Actual result:
--------------
Fatal error: Access type for interface method Example::sillyError()
must be omitted in /data/web/tools/iq_framework/test.php on line 4


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=32427&edit=1

Reply via email to