#Hay un extraño loop en php (no se si también en otros lenguajes) que funciona solo con objetos (checa las clases relacionadas a las clases y objetos si no sabes de lo que hablo). Esto es algo nuevo porque es importante saber que hay un loop que nos permite imprimir todos los atributos de cada objeto. Esto puede resultar útil para muchas situación.
De cualquier manera, en este articulo solo te quiero dar una breve introducción a este loop que es muy importante que sepamos de su existencia y de su utilidad. Para empezar te voy a poner un bloque de código con el loop para que lo analices y lo entiendas, es un bloque de código muy básico, así que no hay nada de que preocuparse.
"Irving";
}
$irving = new Myself();
foreach($irving as $attribute => $value){
print "The attribute $attribute = $value \n";
}
?>
En este caso lo hice con mi nombre pero claro que tu lo puedes hacer con el tuyo. El resultado de estas lineas de código son las siguientes:
The attribute name = Irving
Otra cosa importante a tener en cuenta es que si utilizamos esto con el private
en las variables, se va a romper el código.
Sin embargo, algo importante es que el resultado o el output de el foreach depende de la cantidad de atributos de la clase. Esto se mostrara mas adelante, por ahora ve y analiza el siguiente código:
"Irving";
public $lastName = "Juarez";
public $age = 98;
public $gender = "man";
}
$irving = new Myself();
foreach($irving as $attribute => $value){
print "The attribute $attribute = $value \n";
}
?>
The attribute name = Irving
The attribute lastName = Juarez
The attribute age = 98
The attribute gender = man
Ahora veamos lo que te decía anteriormente (el output depende de la cantidad de atributos que tenga cada clase). Veamos el siguiente código:
name = $name;
}
}
$irving = new Myself();
$irving -> getName("Irving");
foreach($irving as $attribute => $value){
print "The attribute $attribute = $value \n";
}
?>
The attribute name = Irving
The attribute lastName =
The attribute age =
The attribute gender =
Ahora veamos que pasa cuando hago lo siguiente:
name = $name;
}
function getLastName($lastName){
$this->lastName = $lastName;
}
function getAge($age){
$this->age = $age;
}
function getGender($gender){
$this->gender = $gender;
}
}
$irving = new Myself();
$irving -> getName("Irving");
foreach($irving as $attribute => $value){
print "The attribute $attribute = $value \n";
}
$vladimir = new Myself();
$vladimir -> getAge(94);
print "---------------- \n";
foreach($vladimir as $attribute => $value){
print "The attribute $attribute = $value \n";
}
?>
**The attribute name = Irving
The attribute lastName =
The attribute age =
The attribute gender =
The attribute name =
The attribute lastName =
The attribute age = 94
The attribute gender = **
Lo que hice el ultimo código fue que agregue los gets de todos los atributos y cree un nuevo objeto.