Pb methode php

titus -  
prosthetiks Messages postés 1189 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   431
 
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