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 :

Fatal error: Uncaught exception 'InvalidArgumentException' with message


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Points : 149
    Points
    149
    Par défaut Fatal error: Uncaught exception 'InvalidArgumentException' with message
    bonjour,
    voila j'ai un message d'erreur apres avoir etudier un tutoriel poo :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fatal error: Uncaught exception 'InvalidArgumentException' with message 'La vue spécifiée n'existe pas' in C:\wamp\www\mon super site\apps\lib\Page.class.php:27 Stack trace: #0 C:\wamp\www\mon super site\apps\lib\HTTPResponse.class.php(45): Page->getGeneratedPage() #1 C:\wamp\www\mon super site\apps\lib\HTTPResponse.class.php(27): HTTPResponse->send() #2 C:\wamp\www\mon super site\apps\lib\Router.class.php(63): HTTPResponse->redirect404() #3 C:\wamp\www\mon super site\apps\frontend\FrontendApplication.class.php(27): Router->getController() #4 C:\wamp\www\mon super site\web\frontend.php(5): FrontendApplication->run() #5 {main} thrown in C:\wamp\www\mon super site\apps\lib\Page.class.php on line 27

    et voici la class:

    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    <?php
    class Page extends ApplicationComponent
        {
            protected $contentFile;
            protected $vars = array();
     
            public function addVar($var, $value)
            {
                if (!is_string($var) || is_numeric($var) || empty($var))
                {
                    throw new InvalidArgumentException('Le nom de la variable doit être une chaine de caractère non nulle');
                }
     
                $this->vars[$var] = $value;
            }
     
            public function getGeneratedPage()
            {
                if (!file_exists($this->contentFile))
                {
                    throw new InvalidArgumentException('La vue spécifiée n\'existe pas');
                }
     
                $user = $this->app->user();
     
                extract($this->vars);
     
                ob_start();
                    require $this->contentFile;
                $content = ob_get_clean();
     
                ob_start();
                    require dirname(__FILE__).'/../apps/'.$this->app->name().'/templates/layout.php';
                return ob_get_clean();
            }
     
     
            public function setContentFile($contentFile)
            {
                if (!is_string($contentFile) || empty($contentFile))
                {
                    throw new InvalidArgumentException('La vue spécifiée est invalide');
                }
     
                $this->contentFile = $contentFile;
            }
        }
    ?>
    si quelqu'un aurait une solution ca serait geniale.
    je ne comprend pas le message.
    Merci.

  2. #2
    Membre éprouvé Avatar de vorace
    Homme Profil pro
    Développeur
    Inscrit en
    Août 2010
    Messages
    573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Août 2010
    Messages : 573
    Points : 915
    Points
    915
    Par défaut
    ton premier message d'erreur provient d'ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
            public function setContentFile($contentFile)
            {
                if (!is_string($contentFile) || empty($contentFile))
                {
                    throw new InvalidArgumentException('La vue spécifiée est invalide');
                }
                
                $this->contentFile = $contentFile;
            }
    qui d'après le code vient du fait que $contentFile et soit vide soit pas une chaine de caractère, tu dois revoir dans ton code l'endroit ou tu fais appel à cette fonction et l'argument que tu lui passes...
    Développeur informatique contrarié...

  3. #3
    Membre habitué
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Points : 149
    Points
    149
    Par défaut
    Bonjour,
    je viens de modifier des fichiers et voila un nouveau message:

    Fatal error: Uncaught exception 'RuntimeException' with message 'La vue spécifiée n'existe pas' in C:\wamp\www\mon super site\lib\Page.class.php:27 Stack trace: #0 C:\wamp\www\mon super site\lib\HTTPResponse.class.php(45): Page->getGeneratedPage() #1 C:\wamp\www\mon super site\apps\backend\BackendApplication.class.php(32): HTTPResponse->send() #2 C:\wamp\www\mon super site\web\backend.php(5): BackendApplication->run() #3 {main} thrown in C:\wamp\www\mon super site\lib\Page.class.php on line 27

    et voila par exemple sur la class httpResponse ou je fait appel:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     public function send()
            {
                exit($this->page->getGeneratedPage());
            }
    merci de votre aide je ne sais vraiment pas ou est l'erreur.

  4. #4
    Membre habitué Avatar de omar24
    Homme Profil pro
    Inscrit en
    Septembre 2010
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 159
    Points : 172
    Points
    172
    Par défaut
    Est ce que tu fais appel à la méthode setContentFile() si oui qu'est ce qu'elle prend en argument comme valeur de $contentFile???

    Voir par exemple dans les cours et tutoriels PHP : http://php.developpez.com/cours/ ou encore dans la FAQ PHP : http://php.developpez.com/faq/

Discussions similaires

  1. Réponses: 2
    Dernier message: 08/04/2015, 20h59
  2. Réponses: 2
    Dernier message: 30/03/2015, 11h18
  3. Réponses: 1
    Dernier message: 07/08/2012, 23h48
  4. [MySQL] Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[23000
    Par okoweb dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 03/12/2011, 08h32
  5. [MySQL] Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [2002]
    Par -Fly- dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 11/04/2011, 11h18

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