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 :

ajout d'une nouvelle méthode au système basique de routage [POO]


Sujet :

Langage PHP

  1. #1
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 831
    Points
    5 831
    Billets dans le blog
    1
    Par défaut ajout d'une nouvelle méthode au système basique de routage
    Bonsoir,

    avant d'adopter le système basique de routage de rawsrc, j'avais déjà codé plusieurs méthodes. Je souhaite donc les introduire dans ce système. J'ai commencé par en mettre une seule mais il ne la reconnait pas.

    Voici l'état des choses :

    index.php et son système basique de routage :
    Code php : 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
     
    // après un autoloader, le système de routage
     
    $actions = [
        'liste_users' => ['class' => 'classes\User', 'fonction' => 'displayPage'],
        'test_users' => ['class' => 'classes\User', 'fonction' => 'echoClasse'],
        'clean_Db' => ['class' => 'classes\Ticket','fonction' => 'Clean_Db']    // la nouvelle méthode
    ];
     
    // NE PAS TOUCHER => SYSTEME DE ROUTAGE BASIQUE
    use vendor\rawsrc\Request;
     
    $request = new Request($_SERVER['REQUEST_URI']);
    $action  = $request->query()['action'] ?? '';
    var_dump($actions);var_dump($action);var_dump($actions[$action]);
    if (empty($action)) {
        $class_name = 'classes\Home';   // ICI NOTRE AJOUT POUR LE TRAITEMENT DE LA PAGE D'ACCUEIL
        $method     = 'accueil';
    } elseif (isset($actions[$action])) {
    	['class' => $class_name, 'fonction' => $method] = $actions[$action];
    } else {
        $class_name = 'classes\Error';
        $method     = 'Display_Msg_Error';
    }
     
    $class = new $class_name; 
    $class->$method();
     
    // FIN DU ROUTAGE BASIQUE

    Ticket.php :
    Code php : 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
    <?php
    namespace classes;
    use DateTime;
     
    use classes\MYPDO;    //to use class MYPDO  
     
     
    class Ticket
    implements \ArrayAccess,\Countable
    {
    ...
      public function Clean_Db() {
            $pdo=new MYPDO();
            $req= 'delete from `tickets`' ;
            $var=$pdo->select($req,[]);
     
            if (isset($var)) return(TRUE);
            else return(FALSE);      
        }   // end of method  Clean_Db
    ...
    }// end class Ticket
    et
    Notice: Undefined index: Clean_Db in C:\wamp64\www\ticket\index.php on line 15
    donc le var_dump($actions[$action]). Qu'est-ce qui va pas ?

  2. #2
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    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
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    salut,

    tu dois vraiment aller chez la garagiste des yeux : tiens regarde bien ton code :
    Undefined index: Clean_Db
    Pour que cela fonctionne, c'est ?action=clean_Db.
    PHP est sensible à la casse !

  3. #3
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 831
    Points
    5 831
    Billets dans le blog
    1
    Par défaut
    Ouh, la, la...Je viens de me lever et ayant vu ta réponse sur mon téléphone, j'ai allumé l'ordi :

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

Discussions similaires

  1. Réponses: 18
    Dernier message: 23/08/2010, 16h44
  2. Réponses: 7
    Dernier message: 20/09/2009, 20h28
  3. Réponses: 0
    Dernier message: 18/09/2009, 15h39
  4. Réponses: 0
    Dernier message: 16/07/2009, 17h15
  5. [débutant] Créer une nouvelle méthode pour un objet
    Par gvdmoort dans le forum Ruby on Rails
    Réponses: 5
    Dernier message: 05/12/2007, 08h57

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