Edit report at http://bugs.php.net/bug.php?id=53081&edit=1
ID: 53081 Comment by: cmanley at xs4all dot nl Reported by: giorgio dot liscio at email dot it Summary: why you should bring back abstract static methods Status: Bogus Type: Feature/Change Request Package: Class/Object related PHP Version: 5.3.3 Block user comment: N New Comment: This bug (emitting E_STRICT for abstract static methods in PHP 5.3 while static inheritance has finally been implemented) leads to another bug that I recently submitted: http://bugs.php.net/bug.php?id=53086 These are definately different bugs, but this bug spawns the other one which is more catestrophic. If you don't see the bug, then add E_STRICT to your error reporting: error_reporting(E_ALL | E_STRICT); Previous Comments: ------------------------------------------------------------------------ [2010-10-16 20:23:31] giorgio dot liscio at email dot it Strict Standards: Static function cA::B() should not be abstract in ..\www\index.php on line 6 5.3.3 ------------------------------------------------------------------------ [2010-10-16 19:42:48] ras...@php.net Which strict warning do you get? I don't see one. ------------------------------------------------------------------------ [2010-10-16 19:39:13] giorgio dot liscio at email dot it so, felipe says that is not a bug and hes right rasmus you say that this code is correct, but i still get a strict warning abstract class cA { static function A(){static::B();} abstract static function B(); } class cB extends cA { static function B(){echo "ok";} } cB::A(); ------------------------------------------------------------------------ [2010-10-16 09:37:51] giorgio dot liscio at email dot it no more a change request http://bugs.php.net/bug.php?id=53082 bug reported thank you Rasmus! ------------------------------------------------------------------------ [2010-10-16 09:27:47] giorgio dot liscio at email dot it ok it is a php bug, it is related to files and namespaces... if you put this in global space works (no error triggered) <?php // index.php ini_set("display_errors", true); ini_set("error_reporting", E_ALL | E_STRICT); require("FSNuovo/Directory.php"); ?> <?php // FSNuovo/Directory.php namespace FSNuovo; abstract class AbstractFileSystemItem { abstract static function ensurePathIsValid($fullPath); } class Dir extends AbstractFileSystemItem { static function ensurePathIsValid($fullPath){} } ?> ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/bug.php?id=53081 -- Edit this bug report at http://bugs.php.net/bug.php?id=53081&edit=1