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 :

Aide pour remplacer un long switch


Sujet :

Langage PHP

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 32
    Par défaut Aide pour remplacer un long switch
    Bon désolé pour le titre du tropic, j'ai pas trouvé mieux...

    Je me suis constitué un petit framework en php (c'est un essai du moins). J'ai un petit soucis dans mon script index.php (dont le rôle est de charger la page courante).

    La page va se charger en fonction de la variable $nom_page.

    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
    <?php
     
    	error_reporting(E_ALL|E_STRICT);
    	ini_set('display_errors', 1);
    	date_default_timezone_set('Europe/Paris');
     
    	include "config/param.php";
    	include "config/functions.php";
    	include "config/connect.php";
     
    	header('Content-Type: text/html; charset=utf-8');
     
     
    	if (isset($_GET['page']))
    		$nom_page = $_GET['page'];
    	else
    		$nom_page = 'accueil';
     
     
    	switch($nom_page) :
     
    		case 'accueil' : $application = new Accueil(); break;
    		case 'actus'   : $application = new Actus();   break;
    		case 'blabla'  : $application = new Blabla();  break;
     
    	endswitch;
     
     
    	$application->execute();
     
    ?>
    Connaîtriez-vous une solution permettant d'appeler automatiquement la classe du même nom que $nom_page, sans devoir passer par un switch ?

  2. #2
    Membre Expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Par défaut
    Bonjour,

    Essaie ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $application = new $nom_page();

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 32
    Par défaut
    Super, je pensais pas à un truc aussi bête. Merci

  4. #4
    Membre éclairé Avatar de daajack
    Inscrit en
    Octobre 2007
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 97
    Par défaut
    C chaud, une porte ouverte au hacker. Il faudrait lister quand même quelque part les fonctions autorisées !

  5. #5
    Membre Expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Par défaut
    Citation Envoyé par daajack Voir le message
    C chaud, une porte ouverte au hacker. Il faudrait lister quand même quelque part les fonctions autorisées !
    C'est certain, mis tel quel c'est une faille de sécurité, et comme toutes les variables reçues du client, il faut la vérifier... Mais créer un tableau des pages autorisées et vérifier qu'elle est dedans remplacera avantageusement le long switch

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 29/08/2012, 15h44
  2. Besoin d'aide pour remplacer avec expression régulière sur plusieurs lignes
    Par MediaVistaIntel dans le forum Général Python
    Réponses: 11
    Dernier message: 01/12/2011, 14h19
  3. aide pour fonction switch problème
    Par mitherkiller dans le forum C
    Réponses: 10
    Dernier message: 02/03/2007, 15h03
  4. Aide pour définir des index (traitement long)
    Par m-mas dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 25/05/2006, 20h39
  5. Besoin d'aide pour la condition switch
    Par argon dans le forum Langage
    Réponses: 30
    Dernier message: 27/03/2006, 19h18

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