#33698 [Bgs]: Conflicts with multiple interfaces sharing common method names

From: Date: Fri, 15 Jul 2005 11:57:12 +0000
Subject: #33698 [Bgs]: Conflicts with multiple interfaces sharing common method names
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-81897@lists.php.net to get a copy of this message
ID: 33698 User updated by: jason at hybd dot net Reported By: jason at hybd dot net Status: Bogus Bug Type: Feature/Change Request Operating System: * PHP Version: 5.0.4 New Comment: I know PHP != Java, but surely this sort of stuff should be documented? Most people will expect interfaces to work like Java interfaces or C++ "interfaces" (Pure virtual abstract methods), as many other languages seem to follow this behaviour. As I said this is debatable as it depends how you look at things, and likewise it is fairly easy to work round this issue. Previous Comments: ------------------------------------------------------------------------ [2005-07-15 12:44:04] sniper@php.net PHP != Java ------------------------------------------------------------------------ [2005-07-14 17:35:15] jason at hybd dot net Description: ------------ This is debateable if this is a bug or not. Personally, I don't regard it as a bug. Classes that implement >1 interface that share common methods raise fatal errors. Because of the abstract nature of interfaces, no error or warning should be rasied. I know PHP <> Java, but Java doesn't raise any errors, and PHP5's OO model is very close to Java's Reproduce code: --------------- interface FirstInterface { function execute(); } interface SecondInterface { function execute(); } class MyClass implements FirstInterface, SecondInterface { function execute() { echo "Hello World"; } } $obj = new MyClass(); $obj->execute(); Expected result: ---------------- Hello World Actual result: -------------- Can't inherit abstract function SecondInterface::execute() ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=33698&edit=1

« previous php.bugs (#81897) next »