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

Reply via email to