From PHP mannual second paragraph, it says that:
static:: introduces its scope.
I tried the following example accordingly:
class Father {
    public function test(){
        echo static::$a;
    }
}
class Son extends Father{
    protected static $a='static forward scope';
    public function test(){
        parent::test();
    }
}
$son = new Son();
$son->test(); // print "static forward scope"
It works as described. However, the following example will raise a fatal error:
class Father {
    public function test(){
        echo static::$a;
    }
}
class Son extends Father{
    private static $a='static forward scope';
    public function test(){
        parent::test();
    }
}
// print "Fatal erro: Cannot access private property Son::$a"
$son = new Son();
$son->test(); 
My main question is how to interpret the word scope here? If static introduces Son's scope to Father, then why private variables are still invisible to Father?
Are there two things variable scope and visibility scope? I'm new to PHP sorry if this sounds funny.
 
    