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 :

COmment optimiser mon mvc


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Avril 2016
    Messages : 7
    Par défaut COmment optimiser mon mvc
    Bonjour, je suis en train de retravailler mon MVC pur l'arrivé de php 7

    Donc voici la gestion du controller, action, et la l'inclusion des class et methode.

    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
    $params = explode('/', $_GET['controller']);  
    if ($params[0] == NULL) {
        $params[0] = 'Home';
        $controller = $params[0];
    } else $controller = $params[0];
     
    if ($params[1] == NULL) {
        $params[1] = 'index';
        $Action = $params[1];
    } else $controller = $params[0];
     
    if(file_exists('../application/controllers/'.$controller.'.php')){
       require '../application/controllers/'.$controller.'.php';
       $controller = new $controller;  
        if (method_exists($controller, $Action))  
        {  
            $controller->$Action();  
        }else{
            echo "La classe ou la methode n'existe pas !";
        }
    }else{
        echo "Page introuvable";
    }
    Merci de m'aider a optimiser mon code.

  2. #2
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Salut,

    cette partie de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if(file_exists('../application/controllers/'.$controller.'.php')){
       require '../application/controllers/'.$controller.'.php';
       $controller = new $controller;
    devrait être remplacée par un système d'autoloading et de ton côté tu devrais avoir quelque chose dans ce genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
     
    use namespace\Class;
     
    $controller = new Class();
    // reste du code

  3. #3
    Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Avril 2016
    Messages : 7
    Par défaut
    Merci j'aurai parié que vous allez parler de namesapce.

    Mais je ne comprends comment les utiliser.

    Pour ce qui est de autoload j'utilise déjà !

    Donc le voici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    function __autoload($class_name) {
        include ROOT . '/application/controllers/' . $class_name . '.php';
    }

  4. #4
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Allez un peu de lecture parce que ton autoloader me semble vachement léger : ici

  5. #5
    Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Avril 2016
    Messages : 7
    Par défaut
    Et pour namespace comment on les utilise ?

  6. #6
    Membre chevronné Avatar de Gaulouis
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2015
    Messages
    252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2015
    Messages : 252
    Par défaut
    Citation Envoyé par rawsrc Voir le message
    et de ton côté tu devrais avoir quelque chose dans ce genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
     
    use namespace\Class;
     
    $controller = new Class();
    // reste du code
    Citation Envoyé par FreelancerAnju Voir le message
    Et pour namespace comment on les utilise ?
    A mon avis, FreelancerAnju souhaiterais avoir un factory de controller. Et obtenir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $controller_class_name = 'AppName::ModuleName::'.$controller;
    $controller = Controller::Factory($controller_class_name);

Discussions similaires

  1. Comment optimiser mon programme
    Par fouedou77 dans le forum C
    Réponses: 2
    Dernier message: 29/06/2009, 10h51
  2. [Optimisation] Comment optimiser mon architecture ?
    Par buzzkaido dans le forum C++
    Réponses: 6
    Dernier message: 09/05/2007, 14h59
  3. Comment optimiser mon serveur ?
    Par guidav dans le forum Requêtes
    Réponses: 8
    Dernier message: 27/02/2007, 18h47
  4. Réponses: 9
    Dernier message: 07/11/2006, 15h12
  5. [C#] Comment optimiser mon constructeur ?
    Par blbird dans le forum C#
    Réponses: 2
    Dernier message: 19/01/2006, 15h41

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