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 :

ajouter l'affichage d'un menu


Sujet :

Langage PHP

  1. ###raw>post.musername###
    Membre expert
    ajouter l'affichage d'un menu
    Bonsoir,

    je souhaite insérer l'affichage d'un menu dans mes pages. Mon idée est de créer une classe dispMenu qui contient une méthode dispMenu(), faisant elle-même appel à la classe PhpEcho de rawsrc.

    dispMenu.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
    22
    23
     
    <?php
    namespace view;
    class dispMenu
    {
    public function __construct()
    {}
     
    public function dispMenu()
    {
        $page = new PhpEcho([DIR_ROOT, 'view Layout.php']);
     
        $body = new PhpEcho([DIR_ROOT, 'menu.php'], [
            'action1' => 'view',
            'action2' => 'controller'
        ]);
        $page['body'] = $body;
     
        // on renvoie au navigateur la page assemblée
        echo $page;
    }
    }
    ?>


    Je l'utilise de cette façon :
    Code php :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    use view\dispMenu;
     
    $menu=new dispMenu;
    $menu->dispMenu();


    Mon souci est ce message d'erreur :
    Fatal error: Uncaught Error: Class 'view\PhpEcho' not found in C:\xampp\htdocs\www\ticket2\view\dispMenu.php:10 Stack trace: #0 C:\xampp\htdocs\www\ticket2\model\dispValuesTicket.php(7): view\dispMenu->dispMenu() #1 C:\xampp\htdocs\www\ticket2\index.php(45): include('C:\\xampp\\htdocs...') #2 {main} thrown in C:\xampp\htdocs\www\ticket2\view\dispMenu.php on line 10
    Que faut-il faire ?
      0  0

  2. #2
    Membre actif
    Un use de la classe PhpEcho de rawsrc avec le namespace qui va bien =)

    Ou utilise \PhpEcho si la classe est définie dans le namepsace global.

  3. #3
    Modérateur

    salut Laurent

    C'est la quinzième fois que tu poses la même question. Tu oublies les réponses qu'on te donne ou quoi ?

  4. #4
    Membre expert
    Merci de m'aider à plus de 3h du matin (moi ). rawsrc, à mon âge fort avancé, faut penser à Alzheimer

    Bon, j'ai ajouté un use
    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
    <?php
    namespace view;
    use vendor\PhpEcho\PhpEcho;
    class dispMenu
    {
    public function __construct()
    {}
     
    public function dispMenu()
    {
        $page = new PhpEcho([DIR_ROOT, 'view Layout.php']);
     
        $body = new PhpEcho([DIR_ROOT, 'menu.php'], [
            'action1' => 'view',
            'action2' => 'controller'
        ]);
        $page['body'] = $body;
     
        // on renvoie au navigateur la page assemblée
        echo $page;
    }
    }
    ?>

    et corrigé un autre bug, et ça roule
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell