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 :

Php en Mvc avec twig


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2015
    Messages : 4
    Points : 6
    Points
    6
    Par défaut Php en Mvc avec twig
    Bonjour,

    J'ai un petit projet que je suis entrain de mettre en place ,
    Alors j'ai une page qui affiche 3 centres , j'utilise twig et j'ai fait mon site en MVC.
    J'ai créer une bdd avec ces 3 centres.
    J'aimerais afficher ces 3 centres mais en utilisant une classe.
    Je n'ais jamais utilisé twig et le la poo ensemble.


    Pour le moment voici mon code
    center.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    require_once 'vendor/autoload.php';
     
    require_once '/inc/Centre.php';
     
     
    $loader = new Twig_Loader_Filesystem('templates');// Dossier contenant les templates
    $twig = new Twig_Environment($loader, array('cache' => false));
    $centre = new Centre();
    echo $centre->getCentre();
    echo $twig->render('center.twig', array('titre' => 'Nom du centre','header' => 'Marques 1'));
    la classe Centre.php

    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    class Centre{
     
    private $propriete1;
    private $propriete2;
     
    //crées un constructeur
    public function Centre($param1, $param2){
    $this->propriete1 = $param1;
    $this->propriete2 = $param2;
    }
     
    public function loadCentres(){
    //requete
        mysql_connect('localhost', 'root', '');
     
        mysql_select_db('tine');
     
        $req = mysql_query("SELECT * FROM centre ");
    //instancies une collection ou un tableau $collec
     
    //pour chaque résultat
    while($data = $req->fetch()){
    //construis un objet Centre grace au constructeur
    $centre = new Centre($data['val1'], $data['val2']);
     
    //quand tu as ton objet, tu lajoutes a ta collection
    $collect->add($centre);
    }
     
    //retournes collection de centres
    return $collec;
    }
    }
    et ma collection

    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
    <?php
     
    class CentreCollection
    {
     
        private $collection = array();
        private $centre_id;
     
        public function __construct($centre_id)
        {
            $this->centre_id = (int)$centre_id;
     
            $this->load();
        }
     
        public function load()
        {    
            $sql = "SELECT * FROM centre";
     
            $this->fill($this->query($sql, $this->centre_id));
        }
    }
    J'aurais besoin d'aide pour ma requetes car je crois quelle ne marche pas

    et je ne suis pas sur de ma collection


    Merci d'avance

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    d'après la documentation de Twig, il n'y aucun problème pour utiliser des objets

    en ce qui concerne la classe Centre, tu devrais utiliser "__construct" pour le constructeur

    et pour CentreCollection, où est définie la méthode "fill" que tu utilises dans "load" ?

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2015
    Messages : 4
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par mathieu Voir le message
    d'après la documentation de Twig, il n'y aucun problème pour utiliser des objets

    en ce qui concerne la classe Centre, tu devrais utiliser "__construct" pour le constructeur

    et pour CentreCollection, où est définie la méthode "fill" que tu utilises dans "load" ?

    Euh c'est ma première collection en php donc je n'ai pas encore tout compris , a quoi sert la méthode fill ?

  4. #4
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    je parlais de la méthode "fill" qui est dans le code de ton 1er message

Discussions similaires

  1. Architecture MVC avec PHP et performances
    Par kfa1983 dans le forum Langage
    Réponses: 3
    Dernier message: 30/11/2012, 20h45
  2. [PHP 5.0] Débuter avec PHP et MVC
    Par Invité(e) dans le forum Langage
    Réponses: 3
    Dernier message: 19/02/2009, 09h47
  3. MVC avec PHP : Sessions
    Par adrien357 dans le forum Langage
    Réponses: 2
    Dernier message: 03/09/2007, 10h08
  4. Réponses: 3
    Dernier message: 23/08/2004, 17h49

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