Pb methode php

Fermé
titus - Modifié par titus le 26/07/2011 à 18:23
prosthetiks Messages postés 1189 Date d'inscription dimanche 7 octobre 2007 Statut Membre Dernière intervention 12 juin 2020 - 26 juil. 2011 à 21:01
bonjour,

je début en php poo et je bloque sur une méthode

je souhaite faire un système de commentaire sur des news ou je peux choisir afficher les commentaire validé ou non validé(spam).

afin éviter d'écrire différente méthode je voudrai en faire une seul que je pourrai appeler
ainsi
class commentaire 
... 
 public function getList() 
 { 

 } 
... 
} 


$commentaire = new commentaire.class.php 

$commentaire ->getList(array 
      ( valide => oui, 
        id => $id 
      )


Merci de votre aide
A voir également:

1 réponse

prosthetiks Messages postés 1189 Date d'inscription dimanche 7 octobre 2007 Statut Membre Dernière intervention 12 juin 2020 431
26 juil. 2011 à 21:01
Hello,

J'espère que ce petit exemple t'aideras:

<?php
   class Commentaire{
      protected $commentaires = array();
      
      public function __construct(){}
      
      public function getListByStatus($status = 0){
         if($status == 1){
            return $this->commentaires;
         }else{
            $comments = array();
            foreach($this->commentaires as $commentaire){
               if($commentaire['status'] == '1'){
                  array_push($comments, $commentaire);
               }
            }
            return $comments;
         }
      }
      
      public function setList(array $list){
         $this->commentaires = $list;
      }
   }
   //Création de commentaires bidons, juste pour le test
   $commentaires = array(
      array('comment'=>'Texte de ton commentaire 1', 'status' => '1'),
      array('comment'=>'Texte de ton commentaire 2', 'status' => '0'),
      array('comment'=>'Texte de ton commentaire 3', 'status' => '1'),
      array('comment'=>'Texte de ton commentaire 4', 'status' => '0'),
      array('comment'=>'Texte de ton commentaire 5', 'status' => '1'),
      array('comment'=>'Texte de ton commentaire 6', 'status' => '1')
   );
   
   //Instanciation de l'objet 
   $commentaire = new Commentaire();
   
   $commentaire->setList($commentaires);
   
   //Récupères les commentaires
   //1 pour tous, 0 pour filtrés
   $result = $commentaire->getListByStatus(0);

   //Affiche les commentaires
   echo '<pre>';
   var_dump($result);
?>

++
0