Edit report at http://bugs.php.net/bug.php?id=53082&edit=1

 ID:                 53082
 Updated by:         fel...@php.net
 Reported by:        giorgio dot liscio at email dot it
 Summary:            unexp. warning with abstract static methods used
                     inside namespace/required file
-Status:             Open
+Status:             Verified
 Type:               Bug
 Package:            Class/Object related
 PHP Version:        5.3.3
 Block user comment: N

 New Comment:

The namespace is not a factor, but the require yes.



Internally the php_error_cb() function is called for both cases, but
just displays when the code is in another file because
EG(error_reporting) is set to 'E_ALL | E_STRICT', when it's in the same
file, EG(error_reporting) is 22519.


Previous Comments:
------------------------------------------------------------------------
[2010-10-16 09:36:52] giorgio dot liscio at email dot it

Description:
------------
without namespace works perfectly:





<?php

// index.php

ini_set("display_errors", true);

ini_set("error_reporting", E_ALL | E_STRICT);

abstract class AbstractFileSystemItem

{

        abstract static function ensurePathIsValid($fullPath);

}

class Dir extends AbstractFileSystemItem

{

        static function ensurePathIsValid($fullPath){}

}

?>



--------------------------------------------------------



with namespace and require: (test the two files)

gives unexpected warning 

Static function AbstractFileSystemItem::ensurePathIsValid() should not
be abstract



<?php

// index.php (run this)

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){}

}

?>



original discussion: http://bugs.php.net/bug.php?id=53081



------------------------------------------------------------------------



-- 
Edit this bug report at http://bugs.php.net/bug.php?id=53082&edit=1

Reply via email to