Ver Mensaje Individual
  #4 (permalink)  
Antiguo 24/04/2011, 05:39
Avatar de masterpuppet
masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 11 meses
Puntos: 845
Respuesta: Problema con definicion de una clase

La idea es implementar Iterator para(valga la redundancia) iterar directamente sobre los childrens de la clase Node, algo así:

Código PHP:
Ver original
  1. $node = new Node('Root');
  2. $node->addChild(new Node('Child 1'));
  3. $node->addChild(new Node('Child 2'));
  4. $node->addChild(new Node('Child 3'));
  5.  
  6. foreach($node as child){
  7.     print_r($child);//child 1, child 2, child 3
  8. }

y Countable para saber la cantidad de childrens aplicando count directamente al objeto:

Código PHP:
Ver original
  1. $node = new Node('Root');
  2. $node->addChild(new Node('Child 1'));
  3. $node->addChild(new Node('Child 2'));
  4. $node->addChild(new Node('Child 3'));
  5.  
  6. echo count($node);// 3

Te sugiero que leas sobre SPL

Agregado:

Otra opción es implementar RecursiveIterator para en vez de recorrer solamente los hijos directos de un nodo, puedas recorrer toda la descendencia.

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)

Última edición por masterpuppet; 24/04/2011 a las 05:50 Razón: RecursiveIterator