No estoy de acuerdo:
Si utilizas un getter/setter sin lógica interna (simplemente asignar el valor a la variable, y listo) es verdad, pero si utilizas una lógica interna, un getter/setter sólo se diferencia en la sintaxis utilizada para acceder al valor. No se si me explico...
Código PHP:
$a -> nombre = 'Sanva';
es exactamente lo mismo que
Código PHP:
$a -> definirNombre('Sanva');
. No violas el principio de ocultación, ya que nadie sabe cómo funciona el getter/setter de forma interna.