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 :

PHP Objet : undefined function


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2009
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 117
    Points : 67
    Points
    67
    Par défaut PHP Objet : undefined function
    Bonsoir,

    Voilà j'aimerai que vous regardiez mon code histoire de me dire si vous voyez l'erreur car ça commence à me rendre fous, je vois pas où elle est.

    Je me fais une classe DateFR qui prend la date actuelle et j'utilise les argument que j'ai besoin. J'ai fais une fonction de conversion des jour semaine du format numérique au format lettre, mais que je l'appel de mon constructeur ou d'une autre fonction d'affiche, il me dit "Fatal error: Call to undefined function formatJour() in W:\var\www\ProjetStage2010v3\classesPHP\DateFR.php on line 10"

    Voilà le code de ma classe :

    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
    <?php
    	class DateFR{
    		// attributs
    		private $jourSemaine;
    		private $jourMois;
    		private $mois;
    		private $annee;
    		// constructeurs
    		public function __construct(){
    			$this->jourSemaine = formatJour(date("N"));
    			$this->jourMois = date("d");
    			$this->mois = date("n");
    			$this->annee = date("Y");
    		}
    		// fonctions d'affichage
    		public function printDate(){
    			echo $this->jourSemaine." ".$this->jourMois." ".$this->mois." ".$this->annee;
    		}
    		// fonctions de conversion
    		public function formatJour($intJour){
    			switch ($intJour){
    				case 1 :
    					$strJour = "Lundi";
    				break;
    				case 2 :
    					$strJour = "Mardi";
    				break;
    				case 3 :
    					$strJour = "Mercredi";
    				break;
    				case 4 :
    					$strJour = "Jeudi";
    				break;
    				case 5 :
    					$strJour = "Vendredi";
    				break;
    				case 6 :
    					$strJour = "Samedi";
    				break;
    				case 7 :
    					$strJour = "Dimanche";
    				break;
    			}
    			return $strJour;
    		}
    	}
    ?>
    J'avais déjà testé il y a quelque temps avec la conversion du mois et j'avais la même chose alors j'avais lâché l'histoire pour passé à autre chose mais là j'aimerais bien trouvé pourquoi ça marche pas.

    Merci d'avance.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 453
    Points : 550
    Points
    550
    Par défaut
    Salut,

    C'est pas comme en C++, il faut que tu utilises $this->formatJour()
    Bonne chance

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2009
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 117
    Points : 67
    Points
    67
    Par défaut
    En fait je ne faisait pas comme en C++ (car je n'ai jamais codé dans ce langage) mais plus tôt comme en PHP classique. Enfin, je pensais que en dehors de la classe tu faisais un $objet->fonction() mais que dans la classe pas besoins de faire un $quelquechose->fonction().

    Mais en tout cas merci c'est bien ça. Je ne voyais aucun intérêt dans la programmation objet mais depuis peu j'en vois de plus en plus alors je l'utilise dès que je peux

    Sinon une dernière question : si j'avais initialisé mon attribut $jourSemaine avec le date("N") et que je décide de le convertir que dans ma fonction d'affichage, il faudrait que je fasse $this->formatJour($this->jourSemaine) ?

  4. #4
    Expert confirmé
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Points : 4 853
    Points
    4 853
    Par défaut
    salut, cela doit se passer dans l'objet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    $uneDate = new DateFR();
     
    //affichage avec le format par défaut
    $uneDate->printDate();
     
    //changement de format
    $uneDate->formatJour( 4 );
     
    //affichage de nouveau
    $uneDate->printDate();

Discussions similaires

  1. Réponses: 4
    Dernier message: 01/10/2012, 21h31
  2. [SQL-Server] Erreur : Call to undefined function: mssql_connect() in function.php on line 7
    Par xnadyx dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 19/04/2012, 13h55
  3. PHP-Oracle-Wamp : Call to undefined function ora_logon()
    Par Derbie dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 02/05/2011, 09h59
  4. [Oracle] [php 5.1.6, Apache 2.0.63] Call to undefined function OCILogon()
    Par Zipyz dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 23/03/2009, 10h03
  5. [GD] php Call to undefined function
    Par defacta dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 25/08/2006, 11h46

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