}
class SubVisibility extends Visibility
{
    public function callPro()
    {
        $this->pub();
        $this->pro();
        //$this->pri(); // fatal
    }
}
$foo = new Visibility();
$bar = new SubVisibility();
echo $foo->public . PHP_EOL;
//echo $foo->protected.PHP_EOL; // fatal
//echo $foo->private.PHP_EOL; // fatal
$foo->pub();
//$foo->pro(); // fatal
//$foo->pri(); // fatal
$bar->callPro();
// iterators
class IterableClass
{
    public $name = "foo";
    public $surname = "bar";
    public static $age = 10;
    public function test()
    {
        echo "Hey dude!" . PHP_EOL;
    }
}
$ic = new IterableClass();