Edit report at https://bugs.php.net/bug.php?id=40837&edit=1
ID: 40837 Comment by: martijntje at martijnotto dot nl Reported by: nick dot telford at gmail dot com Summary: static and non-static functions can't have the same name Status: Bogus Type: Bug Package: Class/Object related Operating System: Irrelevant PHP Version: 5.2.1 Block user comment: N Private report: N New Comment: I have no idea why this bug is closed as 'bogus'. Just because the documentation states it is a certain way does not mean that it is right. I, for one, believe that it should be possible to create both a static and a member function with the same name. There would never be any confusion as to which function should be called due to the difference of using the :: or -> operator. Previous Comments: ------------------------------------------------------------------------ [2007-03-16 17:40:02] he...@php.net 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-03-16 16:44:17] nick dot telford at gmail dot com Description: ------------ When declaring two functions in a class (methods) non-static and static functions may not use the same names. While I understand this, this is essentially wrong since static methods and non-static methods are entirely different. This also leads me on to another bug/feature suggestion I'm about to file about not being able to overload static attributes with __set/__get. Reproduce code: --------------- class Example { public static function test() {} public function test() {} } $example = new Example(); $example->test(); Example::test(); Expected result: ---------------- No errors, all methods called correctly. Actual result: -------------- PHP errors with: Fatal error: Cannot redeclare Example::test() ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=40837&edit=1