The dynamic nature of PHP defines – you don’t need to declare all variables, inherently adding the notion that adding them initially was a pursuit to be avoided.

So why re-implement a feature people bothered to un-impliment?

$this->that;

VS ~

$this->getThat();
function getThat(){
    return $this->that;
}

At least make redundant set/get [tters] dynamic. Use of the magic __set() and __get() methods means the benefit of protecting access to your objects properties can be encapsulated into your base class easily enough.