abstract class AbstractController
{
protected $repository;
}
class GraphController extends AbstractController
{
private $repository;
}
I get this error:
Fatal error: Access level to GraphController::$repository must be protected or weaker
Why? What's the theory behind this? On some level it feels wrong that I could have a weaker access level to a class property (i.e. public) when I extend a class, because I am in a way exposing a variable that was meant by parent class to be more restricted...