Пример #1
0
<?php

class foo
{
    public $foo = 1;
    // everyone can access
    private $bar = 2;
    // can only be accessed by the class internally
    protected $baz = 3;
    // can be accessed by the class internally & any extending classes
    function p1()
    {
        echo $this->foo . $this->bar . $this->baz;
    }
}
class foo_ex extends foo
{
    function p2()
    {
        echo $this->foo . $this->bar . $this->baz;
    }
}
$a = new foo();
echo $a->p1();
// will print 123
$b = new foo_ex();
echo $b->p2();
// will print 13 + notice about unknown property foo_ex::$bar
// accessing private/protected properties directly will result is a E_ERROR (fatal error)
echo $a->foo . $a->bar . $a->baz;