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 :

[POO] Classe introuvable


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    291
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 291
    Par défaut [POO] Classe introuvable
    Bonjour,
    je rencontre un petit souci que je n'arrive pas à résoudre malgré de nombreuses recherches et vérifications...

    J'ai une classe "process" déclarée dans process.class.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    class process
    {
     
    	public $nomProcess;
    	public $localisation;
     
    	public function __construct()
    	{
    		$this->nomProcess="   ";
    		echo"salut";
    	}
    }
    et dans essai3.php j'utilise cette classe donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <body>
      <?php require("http://localhost/planning/fonctions_php/process.class.php") ;?>
     
    <!--blabla-->
     
    <?php // ligne 387 ci dessous
    $processus=new process(); ?>
    Et message d'erreur :

    Fatal error: Class 'process' not found in C:\wamp\phenix\www\planning\vues\essai3.php on line 387
    Or, je suis sure de mon chemin (en plus il est absolu!).

    D'ou ma question : est-ce que les classes doivent etre dans le meme dossier sue les fichiers qui les utilisent? (je pense pas mais bon on sait jaamais! )

    Et sinon, pourquoi??? Et surtout que faire???

    Merci de votre aide et bon aprem'

  2. #2
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    Je pense que le probleme vient de ton require(), tu utilises une url pour inclure ton fichier au lieu d'utiliser un chemin relatif (par rapport a la position courante de ton fichier) ou à ton include path. Je pense qu'il faudrait plutot faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    require("../../process.class.php")
    en mettant bien sur le bon chemin vers ton fichier de classe.
    Par ailleurs je pense qu'il vaut mieux aussi utiliser require_once si jamais tes scripts sont inclus par d'autres pour ne pas avoir une double inclusion et donc une erreur de redéfinition de la classE.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    291
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 291
    Par défaut
    Effectivement je n'ai plus l'erreur...
    Pourquoi ne peut-on pas mettre l'URL plutot que le chemin relatif?

    Merci beaucoup!

  4. #4
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    On peut le faire mais pour ça il faut modifier une option dans le php.ini. C'est expliqué dans la documentation de la fonction include() similaire à require().
    allow_url_fopen

  5. #5
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    En utilisant une URL, le script PHP ciblé sera interprété et par conséquent vous ne récupèrerez pas sa source mais le code HTML résultant de son exécution.

    Pour information, allow_url_fopen n'est plus suffisante pour les versions >= à 5.2.0 lorsqu'il s'agit d'une inclusion d'un fichier distant car une nouvelle directive a été spécialement introduite : allow_url_include afin de dissocier le cas d'une simple lecture (fopen, file_get_contents, etc) d'une éventuelle interprétation (include/require) - but sécuritaire.

Discussions similaires

  1. [POO] Classe en PHP5
    Par neptune dans le forum Langage
    Réponses: 5
    Dernier message: 01/09/2005, 17h55
  2. [POO]Classes abstract
    Par smag dans le forum Langage
    Réponses: 5
    Dernier message: 29/06/2005, 23h05
  3. [Language][POO]classe interface
    Par Samanta dans le forum Langage
    Réponses: 9
    Dernier message: 21/06/2005, 15h32
  4. Réponses: 3
    Dernier message: 19/05/2005, 10h46
  5. [POO] Class Défilementa automatique d'images avec animation
    Par rakoto.n dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 14/01/2005, 18h21

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