Edit report at http://bugs.php.net/bug.php?id=52900&edit=1
ID: 52900
Comment by: e dot visciola at xaos dot it
Reported by: e dot visciola at xaos dot it
Summary: Protected instance method called by static method of
the same class
Status: Bogus
Type: Bug
Package: Class/Object related
Operating System: WIN & OSX
PHP Version: Irrelevant
Block user comment: N
New Comment:
OK, thanks...
I try also in Java and the behaviour is the same.
I'm sorry to have submit it.
Good work
Previous Comments:
------------------------------------------------------------------------
[2010-09-21 17:09:13] [email protected]
Not a bug.
Inside the static method, the calling scope is A. The scope of
instanceMethod is also A.
Protected methods are accessible whenever their scope and the calling
scope are in the same class hierarchy.
------------------------------------------------------------------------
[2010-09-21 16:02:01] e dot visciola at xaos dot it
Description:
------------
When I call a protected instance method of an object inside a class
method of "the same type" I'd like to have an error.
The example explain:
Test script:
---------------
class A {
protected function instanceMethod()
{
echo 'Instance method called, but it is not right because instance
method is protected<br />';
}
public static function staticMethod()
{
echo 'Static method called<br />';
$a = new A();
$a->instanceMethod();
}
}
A::staticMethod();
Expected result:
----------------
That was generated an error to access the protected method
Actual result:
--------------
Static method called
Instance method called, but it is not right because instance method is
protected
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/bug.php?id=52900&edit=1