IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Problème d'utilisation d'une classe


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 40
    Par défaut Problème d'utilisation d'une classe
    Bonjour à tous,

    Je me suis mis en tête d'utiliser la class de news posté par FhX.

    Super leçon d'architecture Web en PHP, utilisation des design pattern (Factory, Singleton) mais je suis perdu lorsqu'il faut l'utiliser... enfin perdu !!!

    en gros mon problème est :
    comment on récupère le resultat quand on fait un getMultipleNews(0,3) ?

    j'ai comme code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $NewsFactory = new NewsFactory(); 
    $news = $NewsFactory->GetMultipleNews(0,3); 
    var_dump($news);
    le truc c'est que le var_dump me renvoi bien un array mais qu'avec une seule news dedans... ! je comprends pas pourquoi...

    Ensuite comment on fait pour utiliser la méthode AddNews, le truc c'est que cette méthode est typé NewsObject d'accord donc quand je fais ça est-ce correct ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $monActu  = array("titre"=>"Un test de titre", "contenu"=>"Un contenu"); 
    $ajoutActu = new NewsObject($monActu); 
     
    $NewsFactory = new NewsFactory(); 
    $news = $NewsFactory->AddNews($ajoutActu);

    je sais pas si c'est bon mais ça fonctionne pas !

    Bref, si quelqu'un avait des réponses et/ou des solutions, se serait merveilleux !!!

    Merci de votre aide, moi je suis dans le brouillard et là je vois plus rien, je me demande si la methode GetMultipleNews est correcte ... quand je fais ça j'ai bien mes trois titre de news

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    //affiche plusieurs actualités
    public function GetMultipleNews($start, $limit) {
     
    	if( !$this->flag) {
    		$requete = 'SELECT
    				id, titre, contenu, dateInsertion,dateModification
    			        FROM actualites
    				WHERE publication="1"
    				ORDER BY id DESC LIMIT '.$start.', '.$limit;
     
    		$resultat = $this->db->Send_Query($requete, $this->linkBDD);
     
                    //je teste
    		while($tableau = $this->db->get_array($resultat, 'BOTH')) {
    			var_dump($tableau);
    		}
     
    		//$this->flag = TRUE;
    	}
     
    return $this->{$this->option['sortie']}($this->db->get_array($resultat, 'BOTH') );
     
    }
    je sais que c'est compliqué et chiant mais j'ai vraiment besoin de votre aide, j'en dors plus !

    j'ai mis les sources et les classes modifiés

    Nico
    Fichiers attachés Fichiers attachés

  2. #2
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 3
    Par défaut
    Après avoir rapidement jetté un coup d'oeil, je peux t'assurer que j'ai vu bien mieux comme architecture, le code n'est pas conventionné et assez puéril.
    Les design patterns sont utiles, mais il ne faut pas les employer à outrance.

    Pour ton problème avec GetMultipleNews, c'est normal, c'est un fetch_array qui est utilisé, du coup il te renvoie que le premier élément (alors qu'avec un fetch_array il faut boucler), bref plusieurs voies s'ouvrent à toi, boucler le fetch_array ou bien faire un bon fetch_all (ou changer de système de News ).

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 40
    Par défaut
    merci de ta réponse, ok pour le fetch_array, j'ai bouclé dessus et c'est bon ! j'ai créer une sorte de collection de news que je parcours ensuite avec une Class NewsIterator.

    tu parles qu'il existe bien mieux comme architecture, vas-y donne les liens, les idées, les concepts... je suis friand de tout ça, j'aime bien apprendre.

    Nico

  4. #4
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 3
    Par défaut
    En général le meilleur se trouve dans les Frameworks, comme Zend Framework, ou symfony (pour ne citer que les plus connus), ces derniers s'en servent beaucoup pour maintenir une architecture évolutive, efficace et compréhensible.

    Sinon en "simple module de news", à vrai dire je n'utilise aucun code préétabli, vu que c'est fait en moins de 10min avec symfony et son générateur

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 40
    Par défaut
    il est vrai que l'utilisation de Framework tel que Symfony doit améliorer la production de code... cependant il est bon de développer des trucs maison afin d'apprendre des concepts difficiles (design pattern en l'occurrence).

    En plus c'est sympa de développer sa propre structure MVC ! je suis d'accord, pourquoi réinventer la roue ?!!! pour le fun et l'apprentissage !

    j'essaie de me justifier mais dans le fond c'est toi qui as raison !

    c'est quand même sympa d'avoir le contrôle sur tout, non ?

  6. #6
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 3
    Par défaut
    Oui, si on ne fait qu'utiliser des frameworks sans savoir comment ça tourne derrière, c'est moyennement intéressant, et puis j'avoue que je me suis aussi amusé à me faire un mini-framework pour mes sites à faible charge, la meilleure façon d'apprendre est bien de le faire soi-même

    Sur ce, bon week-end

Discussions similaires

  1. Problème avec l'utilisation d'une classe
    Par yoshik dans le forum Général Python
    Réponses: 23
    Dernier message: 29/04/2011, 13h36
  2. Problème de création/utilisation d'une Classe
    Par Stephane_br dans le forum VB.NET
    Réponses: 2
    Dernier message: 25/05/2010, 17h12
  3. Réponses: 8
    Dernier message: 22/12/2004, 22h57
  4. Réponses: 12
    Dernier message: 01/07/2004, 11h03
  5. Réponses: 2
    Dernier message: 18/05/2004, 14h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo