¿Cuál es la diferencia entre public, private y protected en las aplicaciones PHP orientadas a objetos?

Resumiendo: private = solo tú, protected = tú y tus descendientes, public = cualquiera.

Ejemplo practico

public hace que la variable/función se pueda acceder desde cualquier lugar, como por ejemplo otras clases y otras instancias de esa misma clase.
// Variables y funciones public
public $variable;
public function YourFunctionName() {
    //code
}
private hace que la variable/función solamente se pueda utilizar desde la misma clase que las define.
// Variables y funciones private
private $variable;
private function YourFunctionName() {
    //code
}
protected hace que la variable/función se puede acceder desde la clase que las define y también desde cualquier otra clase que herede de ella. 
// Variables y funciones protected
protected $variable;
protected function YourFunctionName() {
    //code
}

Si te ha sido de utilidad ¡deja un comentario! 🙂