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

 ID:               48984
 Comment by:       giorgio dot liscio at email dot it
 Reported by:      themastersleader at hotmail dot com
 Summary:          Strict errors when implementing an interface (with
                   private methods)
 Status:           Bogus
 Type:             Bug
 Package:          Class/Object related
 Operating System: Win XP
 PHP Version:      5.3.0

 New Comment:

a private method is exactly like the others... explained by the fact
that a private method can be public in a subclass



class A{private function x(){}}

class B extends A{public function x(){parent::x()}}


Previous Comments:
------------------------------------------------------------------------
[2010-07-15 15:16:40] itay dot malimovka at gmail dot com

@giorgio dot liscio at email dot it



This is **ONLY** true when the method is protected or public.

------------------------------------------------------------------------
[2010-07-15 11:20:50] themastersleader at hotmail dot com

Quote "extending a method means that in the sub-class the overrided
method can be used as can i use it in the parent class"



The problem is that the sub-class isn't extending the method this
because the method is defined as private.

------------------------------------------------------------------------
[2010-07-15 09:25:23] giorgio dot liscio at email dot it

this is not a bug



extending a method means that in the sub-class the overrided method can
be used as can i use it in the parent class



so



if i have



function test($a, $b, $c){}



in the subclasses every additional parameter must be "not required" to
make the method working



function test($a, $b, $c, $d=NULL, $e=NULL, $f=NULL)



=NULL means that are not required





so in your code



class ChildClass extends ParentClass

{

        public function foo(array $content=NULL) { }

}

------------------------------------------------------------------------
[2010-07-14 20:18:10] itay dot malimovka at gmail dot com

I am having a similar issue in php 5.3 with two classes inheriting from
each other. Both have same name methods with different params. Both
methods are private. I get the same error.

This is NOT a normal behaviour!

------------------------------------------------------------------------
[2009-07-22 15:34:12] themastersleader at hotmail dot com

I think it is a bug, someone else tested it in php 5.2.9 and then it
worked, 5.3.0 gives problems.



Greets)

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


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=48984


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

Reply via email to