oujood.com

Parcours d'objets

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.

chercher |

PHP cours tutorial

Parcourons nos objets

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.


Par carabde 20 Aout 2014

MARKETPOWER-IA
Logiciel d'I.A.
Logiciel d'I.A. 100% Français pour lancer son business en ligne

La méthode secrète likes sans fin sur Facebook

Livre numérique court pour comprendre la méthode secrète permettant d'obtenir des likes sans fin sur Facebook.

GAGNER DE L'ARGENT
GRÂCE À FACEBOOK 
N'A JAMAIS ÉTÉ SI FACILE


Consulter


1tpe