ID: 40886 User updated by: andrea at 3site dot it Reported By: andrea at 3site dot it -Status: Bogus +Status: Open Bug Type: Class/Object related Operating System: Windows XP SP2 PHP Version: 5.2.1 New Comment:
This cannot be an expected behaviour because in this way a static method is exactly the same of a generic public method. Static parameters aren't (correctly) usable with instances so why static methods should be assigned? If this is an expected behaviour please tell us what do You think static keyword means and explain them correctly on documentation page. Previous Comments: ------------------------------------------------------------------------ [2007-03-21 21:02:53] [EMAIL PROTECTED] Expected behaviour. ------------------------------------------------------------------------ [2007-03-21 20:13:21] andrea at 3site dot it damn ... http://www.php.net/manual/en/language.oop5.static.php "Declaring class members or methods as static makes them accessible without needing an instantiation of the class. A member declared as static can not be accessed with an instantiated class object (though a static method can)." Well ... C# and other languages doesn't assign static methods to instances. C++ does it but it assign static parameters too. With PHP 5 we can't use the same name for 2 different methods (for example one static and one public) but we can call a static method without static declaration (only E_STRICT tells us there's something wrong) while C++ can't call a public method, or parameter, with a class if it's not declared as static. At this point, why did You introduce the static method/property type? This implementation is not Object Oriented, it's quite "Hilarius" Oriented. Sorry for this bug (and for me it's really a bug!). Regards. ------------------------------------------------------------------------ [2007-03-21 18:56:54] andrea at 3site dot it Description: ------------ Description: ------------ I don't know if it is by design, but this is not what I would expect logically ... (and with static variables it doesn't happen so it should be a _strange_ logic) I suppose this problem is related with this one: http://bugs.php.net/bug.php?id=40837 but I think this one is *not* callable Irrelevant Reproduce code: --------------- <?php class ExampleClass { public static function StaticExample(){ echo "StaticExample", "<br />"; } public function InstanceExample(){ echo "InstanceExample", "<br />"; } } $test = new ExampleClass(); ExampleClass::StaticExample(); // ok $test->InstanceExample(); // ok $test->StaticExample(); // what the hell? ?> Expected result: ---------------- StaticExample InstanceExample FATAL ERROR ... undefined method StaticExample Actual result: -------------- StaticExample InstanceExample StaticExample ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=40886&edit=1