Implémenter l’interface Countable avec PHP 5
C’est une interface très pratique qui vous permet de “compter” votre objet. Plus simplement, vous allez pouvoir utiliser la fonction count() ou sizeof() sur une instance de classe :
class CountIt implements Countable {
protected $items = array('Riri','Fifi','Loulou');
public function count() { return sizeof($this->items); }
}
$c = new CountIt();
echo ‘Moi je compte ‘, sizeof($c),’ items’;
?>
C’est vrai que ça peut paraître illogique de compter votre objet, ce n’est pas mon avis vu que cela correspond assez à la logique PHP et à la plupart de ses fonctions. Cette interface est disponible dans la SPL et est déjà implémentée dans des classes telles que ArrayObject ou SimpleXMLIterator.
Je l’adopte dores et déjà pour l’objet Search d’un projet sur lequel je travaille pour l’IUT et bientôt sur ma classe SQL.
Palleas @ juin 18, 2008


Nice ! A quand d’autres tutos sur Apprendre-PHP ?
Quand j’aurais le temps!
Là c’est en taffant sur un projet de l’IUT que j’ai blogué ça, j’suis très spontané ^^
J’vais poster celui-ci ASAP
J’espère que ta classe SQL va pas servir à stocker les résultats !
Tu me fais peur
Non non elle ne stocke pas les résultats, mais en fait c’est plus un support pour tester des trucs (cf Iterator, et now Countable).
Vu que c’est une interface, tout ce que tu dois faire c’est définir une méthode count(), moi la mienne (de méthode count()) me retourne le mysql_ num_rows().
Bon ça va alors, mais j’ai eu peur !
(PS: il est toujours pas 9:32, faut passer le serveur en CEST ! (ou le mettre à l’heure) ntpdate et tzsetup sont tes amis)
@Julien Tartarin : Bah ça ne servirait à rien de stocker les résultats dans la classe :p
On est bien d’accord ^^
Nice ! A quand des tutos sur le blog-dont-on-ne-doit-pas-prononcer-le-nom ?
Wahou c’est à l’heure
@Julien Tartarin : C’était la faute de wordpress en fait :$
@Palleas :
toujours reporter la faute sur quelqu’un d’autre, très important !
@palleas: “C’est vrai que ça peut paraître illogique de compter votre objet, ce n’est pas mon avis vu que cela correspond assez à la logique PHP et à la plupart de ses fonctions.”
ah, le php est logique? rassure moi stp, dis moi que c’était de l’humour…
@meshvere: wala, là chui d’accord :p
>> ah, le php est logique? rassure moi stp, dis moi que c’était de l’humour…
PHP non ! La logique c’est le développeur qui l’a met en place. Donc PHP est un langage tout aussi logique qu’un autre s’il est utilisé intelligemment et avec rigueur.