PHP fournit une façon de définir les objets de manière à ce qu'on puisse parcourir une liste de membres avec une structure foreach. Par défaut, toutes les propriétés visibles seront utilisées pour le parcours.
PHP fournit une façon de définir les objets de manière à ce qu'on puisse parcourir une
liste de membres avec une structure foreach.
Par défaut, toutes les propriétés visibles seront
utilisées pour le parcours.
Exemple :
Sélectionner le code
<?php
class MyClass
{
public $var1 = 'valeur 1';
public $var2 = 'valeur 2';
public $var3 = 'valeur 3';
protected $protected = 'variable protégée';
private $private = 'variable privée';
function iterateVisible() {
echo "MyClass::iterateVisible:\n";
foreach($this as $key => $value)
{
print "$key => $value\n";
}
}
}
$class = new MyClass();
foreach($class as $key => $value)
{
print "$key => $value\n";
}
echo "\n";
$class->iterateVisible();
Ce qui affiche
var1 => valeur 1
var2 => valeur 2
var3 => valeur 3
MyClass::iterateVisible:
var1 => valeur 1
var2 => valeur 2
var3 => valeur 3
protected => variable protégée
private => variable privée
Comme nous le montre l'affichage, l'itération foreach affiche toutes les variables visiblesdisponibles. Pour aller plus loin, vous pouvez implémenter l 'interface interne de PHP nommée Iterator . Ceci permet de déterminer comment l'objet doit être parcouru.
Exemple :
Sélectionner le code
<?php
class MyIterator implements Iterator
{
private $var = array();
public function __construct($array)
{
if (is_array($array)) {
$this->var = $array;
}
}
public function rewind()
{
echo "rembobinage\n";
reset($this->var);
}
public function current()
{
$var = current($this->var);
echo "actuel : $var\n";
return $var;
}
public function key()
{
$var = key($this->var);
echo "clé : $var\n";
return $var;
}
public function next()
{
$var = next($this->var);
echo "suivant : $var\n";
return $var;
}
public function valid()
{
$key = key($this->var);
$var = ($key !== NULL && $key !== FALSE);
echo "valide : $var\n";
return $var;
}
}
$values = array(1,2,3);
$it = new MyIterator($values);
foreach ($it as $a => $b) {
print "$a: $b\n";
}
?>
Ce qui affiche
rembobinage
valide : 1
actuel : 1
clé : 0
0: 1
suivant : 2
valide : 1
actuel : 2
clé : 1
1: 2
suivant : 3
valide : 1
actuel : 3
clé : 2
2: 3
suivant :
valide :
Note:
Pour plus d'exemples sur le parcours d'objets, lisez la section sur l' extension Bibliothèque standard PHP.
Livre numérique court pour comprendre la méthode secrète permettant d'obtenir des likes sans fin sur Facebook.
GAGNER DE L'ARGENT