Method 'x' declared in 'y' is not public

Sample code:

//...
class base {
    protected function fun() {
        //...
    }
}
//...
class derived extends base {
    //...
}
//...
$x = new derived(12);
$x->fun();                      // Method 'fun' declared in 'base' is not public
//...

Method you attempted to call is not available due to its protection level.