Cuando declaramos una clase en php los atríbutos y métodos se pueden definir como públicos, protegidos o privados (public, protected o private) según la visibilidad o el acceso que van a tener desde otras clases, la misma clase o las clases que heredan de ellas.
Veamos las diferencias entre public, protected y private:
- Public: Se puede acceder al método o atributbuto desde la clase actual, clases que heredan y otras clases.
- Protected: Se puede acceder al método o atribubuto desde la clase donde es definido y desde cualquier otra clase que herede de esta clase.
- Private: Se puede acceder al método o atribubuto desde la clase donde es definido.