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 :

Nom de fonction


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Urbaniste
    Inscrit en
    Mai 2018
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Urbaniste

    Informations forums :
    Inscription : Mai 2018
    Messages : 275
    Par défaut Nom de fonction
    Bonjour, je fais des petits test pour apprendre php et la je bloque sur un truc.

    Sur ma page index.php j’appelle une fonction statique Tester::teste();
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    class Tester {
     
    	public static $url = 2;
     
    	public static function teste() {
    		echo ( self::$url );
    	}
     
    }
    tout va bien, mais si je nomme ma fonction Tester::tester();
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    class Tester {
     
    	public static $url = 2;
     
    	public static function tester() {
    		echo ( self::$url );
    	}
     
    }
    Cela ne marche plus j'ai une belle page blanche

    sachant que tester() ne fait presque rien

    Pourquoi ne puis je pas mettre une fonction qui porte le même nom que ma class

  2. #2
    Membre éclairé
    Homme Profil pro
    Urbaniste
    Inscrit en
    Mai 2018
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Urbaniste

    Informations forums :
    Inscription : Mai 2018
    Messages : 275
    Par défaut
    Avec n'importe quel nom cela marche Tester::teste_le_truc(); Tester::teste_le_machin();,

    mais pas avec Tester::tester(); coïncidence, bug, nom réservé ????

  3. #3
    Membre éclairé
    Homme Profil pro
    Urbaniste
    Inscrit en
    Mai 2018
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Urbaniste

    Informations forums :
    Inscription : Mai 2018
    Messages : 275
    Par défaut
    Cela ne marche pas non plus avec Toto::toto().

    Dès que ma classe porte le même nom que ma fonction cela ne marche pas....

  4. #4
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Je viens de vous répondre.

  5. #5
    Membre éclairé
    Homme Profil pro
    Urbaniste
    Inscrit en
    Mai 2018
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Urbaniste

    Informations forums :
    Inscription : Mai 2018
    Messages : 275
    Par défaut
    Bonjour, je suis en PHP 7
    et si je fais des erreurs cela les enregistre (d'autres erreurs)
    Mais la il n'enregistre rien

  6. #6
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Votre version PHP, n'a rien à voir.
    Je suis en PHP 7.3 et cela affiches les erreurs.
    Dans votre php.ini avez vous E_STRICT dans la partie erreur ?

  7. #7
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Bonjour,
    Si vous avez une page blanche, c'est que vous n'avez pas activer l'affichage d'erreur de PHP (je vous laisse chercher dans le php.ini).

    Sinon, vous auriez reçu une erreur du genre :

    Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; Tester has a deprecated constructor in /home/gg/Sites/test.php on line 2
    En fait c'est historique, en PHP 4 le constructeur devais porter le même nom que la classe, cette façon de faire à été déprécié et le constructeur est remplacé par la méthode __construct().
    Du coup si une méthode porte le même nom que l'instance de la classe, alors cela lève une erreur.

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

Discussions similaires

  1. Nom de fonction introuvable
    Par Jérémy VAUTIER dans le forum Access
    Réponses: 4
    Dernier message: 01/03/2006, 09h50
  2. Cherche nom de fonction
    Par DeezerD dans le forum Langage
    Réponses: 4
    Dernier message: 15/10/2005, 01h14
  3. Réponses: 2
    Dernier message: 04/10/2005, 15h13
  4. Nom de fonction dynamique
    Par gege2061 dans le forum C
    Réponses: 2
    Dernier message: 21/06/2005, 14h44
  5. Evaluation d'un nom de fonction
    Par uaz dans le forum Général Python
    Réponses: 1
    Dernier message: 04/08/2004, 11h16

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