ID: 41129 User updated by: sander at snapworks dot nl Reported By: sander at snapworks dot nl Status: Bogus Bug Type: Scripting Engine problem Operating System: linux 2.6.20-1.2944.fc6 PHP Version: 5.2.2RC1 New Comment:
Hi Tony, I respect your opinion on the fact it would be a violation of the nature of interfaces, but I would like to add that this is a point of view as it depends on how static members are implemented (wether they are inheritable and how they are bound). Anyway, I do not wish to start a discussion on it, because there have been plenty of them on this subject (notably in the java world) and it's mostly a matter of choices made in implementation. I just hoped PHP was going to support it. FYI, the reason I needed it was for namespace purposes. I have a method that is related to an interface, but is not part of the "contract". And I dislike top-leve functions. ;) So that's why I wanted to encapsulate the method inside the interface, not as a part of it, but more like a way to namespace the method. Anyway, thanks for your time! Previous Comments: ------------------------------------------------------------------------ [2007-04-18 12:42:11] [EMAIL PROTECTED] >I understand this is not a bug, but merely a language construct not >being supported. It is not supported because it violates the nature of interfaces. Use Google to learn why is it unsupported in other languages. >However, where would be the place to report such >suggestions, preferably a place where active PHP developers linger? You're speaking to one. ------------------------------------------------------------------------ [2007-04-18 12:26:30] sander at snapworks dot nl I understand this is not a bug, but merely a language construct not being supported. However, where would be the place to report such suggestions, preferably a place where active PHP developers linger? ------------------------------------------------------------------------ [2007-04-18 12:15:17] [EMAIL PROTECTED] Thank you for taking the time to write to us, but this is not a bug. Please double-check the documentation available at http://www.php.net/manual/ and the instructions on how to report a bug at http://bugs.php.net/how-to-report.php ------------------------------------------------------------------------ [2007-04-18 12:14:20] sander at snapworks dot nl - more descriptive summary ------------------------------------------------------------------------ [2007-04-18 12:10:20] sander at snapworks dot nl Description: ------------ PHP doesn't allow static methods in interfaces to have a body. Reproduce code: --------------- <?php interface SomeInterface { static public function doSomething() { } } ?> Expected result: ---------------- A blank page indicating non-failure :) Static methods in interfaces definitely should be allowed to have a body. Maybe it's not a common practise, but it's at times convenient. Actual result: -------------- Fatal error: Interface function SomeInterface::doSomething() cannot contain body in /var/www/html/workspace/test.php on line 4 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=41129&edit=1