туплю с азами ООП (protected)

Духовность™

Продвинутый новичок
туплю с азами ООП (protected)

ман: Модификатор protected (защищенный) позволяет иметь доступ наследуемым и родительским классам

тогда почему

PHP:
class a
{
    protected static $a;
    
    function __construct()
    {
        self::$a = 'a';
    }
    
    protected function foo()
    {
        echo self::$a;
    }
}

class b extends a
{
    function __construct()
    {
        self::$a = 'b';
    }
}

$b = new b();
$b->foo();
выдает Fatal error: Call to protected method a::foo() from context '' in Z:\home\new\www\server\configuration.php on line 30

пока в классе a не определишь

PHP:
    function foo()
    {
        parent::foo();
    }
и прекрасно работает, если function foo определена как public?
 

rotoZOOM

ACM maniac
ну, ты же сам ответил на свой вопрос:
Модификатор protected (защищенный) позволяет иметь доступ наследуемым и родительским классам
А ты пытаешься вызвать его снаружи.
 
Сверху