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 :

[POO] MVC : Gestion des "pages"


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 7
    Points : 6
    Points
    6
    Par défaut [POO] MVC : Gestion des "pages"
    Bonjour,

    J'essaye actuellement de faire un système POO (MVC), qui gère des templates.

    Ma question est là suivante, quelle est la façon la plus optimisée de gérer les "pages". Je m'explique : que quand j'aille sur ?p=test, un certain code en rapport s'éxécute.

    Je sais que la question peut sembler stupide, mais j'aime pas le système que j'utilisais précédement (c'est a dire d'includes).

    Ya t'il d'autres façons, si oui lesquelles, et quelles sont les plus optimisés.

    Merci d'avance.

  2. #2
    Membre confirmé Avatar de goodpz
    Profil pro
    Inscrit en
    Février 2007
    Messages
    475
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 475
    Points : 514
    Points
    514
    Par défaut
    quelle est la façon la plus optimisée de gérer les "pages". Je m'explique : que quand j'aille sur ?p=test, un certain code en rapport s'éxécute.

    Je sais que la question peut sembler stupide
    En fait la question est loin d'être stupide puisque sa réponse se trouve au coeur de(s) l'architecture(s) MVC.

    Mais souvent, on arrive à quelque chose qui, en reprenant ton exemple, ressemble à ça:

    require_once 'Test.php';
    $test = new Test();
    $test->tout_depend_de_la_requete();

    Mais avant ça, il peut y avoir beaucoup d'étapes (tout dépend du MVC) et aussi beaucoup d'étapes après.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Actuellement j'ai une solution ... spéciale, je sais pas vraiment ce que ça vaut.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $module = array('pages',$_GET['p']);
     
    if (is_callable($module)) {
    	$control->main = call_user_func($module);
    } else {
    	$control->main = pages::default_page();
    }
    Et dans la classe pages, j'ai une fonction statique pour chaque "page" du site, qui fait ce_qu'il_y_a_a_faire() ...

    Par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    	class pages
    	{
     
    		public static function home() {
    			return forums::display_board();
    		}
     
    		public static function default_page() {
                            // Provisoire.
    			return 'default page';
    		}
    	}

  4. #4
    Membre confirmé Avatar de goodpz
    Profil pro
    Inscrit en
    Février 2007
    Messages
    475
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 475
    Points : 514
    Points
    514
    Par défaut
    Actuellement j'ai une solution ... spéciale, je sais pas vraiment ce que ça vaut.
    Ca vaut au moins son pesant de bytes, ça c'est toujours vrai ; )

    Un inconvénient avec ton architecture, c'est que la classe "pages" n'est guère plus utile qu'une longue série de if/elseif car il y a une correspondance directe entre $_GET['p'] et la page cible.

    Généralement, dans les MVC, introduire une nouvelle page revient à introduire une nouvelle classe. On évite au maximum de devoir reéditer le code d'une classe déjà existante.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MVC] gestion des droits/erreurs : vue ou contrôleur ?
    Par Invité2 dans le forum Langage
    Réponses: 8
    Dernier message: 06/12/2008, 16h34
  2. Gestion des pieds page
    Par offspring dans le forum BIRT
    Réponses: 4
    Dernier message: 26/10/2008, 22h31
  3. [Spring MVC] Gestion des messages
    Par Llaur76 dans le forum Spring Web
    Réponses: 1
    Dernier message: 22/08/2007, 10h08

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