El problema de utilizar global es que te cargas el concepto de OO:
Código PHP:
Ver original$nombre = "Hola amigo";
echo $nombre;
class Mundo {
private $nombre;
public function setNombre($texto){
global $nombre;
$nombre = $texto;
}
public function getNombre(){
global $nombre;
return $nombre;
}
}
$mundo = new Mundo();
$mundo->setNombre("Hola Mundo");
echo $mundo->getNombre();
echo $nombre;
Si haces esto, tu salida será:
Hola, amigo
Hola Mundo
Hola Mundo
Utilizando global, estás accediendo a la variable más externa del código. Puede que esta variable sea la de tu clase, pero puede que no y te estés cargando la idea de orientado a objetos, modificando desde una clase una variable que ni si quiera pertenece a la clase.
Resultado: es obligatorio utilizar $this.
Un saludo.