#27623 [Bgs]: implementation of interfaces not correct handled
| From: | fd@php.net | Date: | Wed, 17 Mar 2004 11:04:07 +0000 |
| Subject: | #27623 [Bgs]: implementation of interfaces not correct handled | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-56579@lists.php.net to get a copy of this message | ||
ID: 27623
User updated by: fd@php.net
Reported By: fd@php.net
Status: Bogus
Bug Type: Class/Object related
Operating System: debian linux
PHP Version: 5CVS-2004-03-17 (dev)
New Comment:
Actually I do not get the point why that does not throw a fatal error,
in my opinion the script should terminate on such an error, shouldn't
it?
Previous Comments:
------------------------------------------------------------------------
[2004-03-17 05:53:24] derick@php.net
This is correct behavior now, turn on E_STRICT and E_ALL and you'll see
it.
------------------------------------------------------------------------
[2004-03-17 05:46:43] fd@php.net
Description:
------------
A implementation of a class whith a method which is not declared as in
the interface should throw an error, which it does in php5b4 but not in
the current HEAD.
Reproduce code:
---------------
<?php
interface Person {
function doSth($sWhat,$sWhere);
}
class Member implements Person {
function doSth($sWhat) {
echo "Person does ".$sWhat."\n";
}
}
$Member = new Member;
$Member->doSth('nothing');
?>
Expected result:
----------------
Fatal error: Declaration of Member::doSth() must be the same as
Person::doSth()
Actual result:
--------------
Person does nothing
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=27623&edit=1