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 :

Bout de code à vérifier !


Sujet :

Langage PHP

  1. #1
    Membre éprouvé
    Avatar de HULK
    Inscrit en
    Juillet 2003
    Messages
    1 276
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 276
    Points : 1 281
    Points
    1 281
    Par défaut Bout de code à vérifier !
    Bonjour, j'ai un questionnaire avec un code PHP ou on me demande de trouver l'erreur, je suis pas un pro en php alors je viens vous solliciter :

    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
     
    class test extends debug
    {
    public $var = 1;
     
    private function __construct()
    {
    return true;
    }
     
    private function testme($int)
    {
    return ($int > $var)? true : false ;
    }
    }
    La fonction testme return true si int est > à var, la premiere ligne, je ne sais pas ce que c'est et je ne sais pas non plus à quoi sert la fonction contruct !

    Merci

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 43
    Points : 37
    Points
    37
    Par défaut
    __construct() c'est le constructeur d'une classe en php5
    Pour moi l'erreur est que le constructeur est déclaré en private au lieu de public mais je suis pas un pro en php alors je peux me tromper

  3. #3
    Membre éprouvé
    Avatar de HULK
    Inscrit en
    Juillet 2003
    Messages
    1 276
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 276
    Points : 1 281
    Points
    1 281
    Par défaut
    Je pense pas que ce soit ca :

    Les constructeurs peuvent être déclarés avec un modificateur d'accès public, protected, par défaut ou private.
    Les constructeurs sont par défaut uniquement accessibles dans le paquetage de la classe parente.
    Le modificateur private entraîne l'impossibilité d'instancier la classe du constructeur et également de l'étendre.

    alors, est ce que c'est pas parce que :
    Le modificateur private entraîne l'impossibilité d'instancier la classe du constructeur et également de l'étendre.

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 41
    Points : 37
    Points
    37
    Par défaut
    Je pense que la méthode testme() est fausse.
    Tu ne dois pas utiliser l'appel à if ($int > $var), mais if ($int > $this->var).

    Ensuite, le fait que le constructeur soit déclaré en private fait que tu ne pourras pas l'utiliser en dehors de la classe...

  5. #5
    Membre éprouvé
    Avatar de HULK
    Inscrit en
    Juillet 2003
    Messages
    1 276
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 276
    Points : 1 281
    Points
    1 281
    Par défaut
    t'as pas oublié un $ ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     if ($int > $this->$var).
    Pkoi il faut faire ca ??

  6. #6
    Expert éminent
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Points : 7 285
    Points
    7 285
    Par défaut
    $var tout court, c'est une variable locale à la fonction en cours (déclarée dans la fonction, ou passée en paramètres).

    $this->$var, c'est la variable de classe, accessible depuis l'ensemble de la classe.

  7. #7
    Membre éprouvé
    Avatar de HULK
    Inscrit en
    Juillet 2003
    Messages
    1 276
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 276
    Points : 1 281
    Points
    1 281
    Par défaut
    ok merci, je vais repondre ca alors !

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 41
    Points : 37
    Points
    37
    Par défaut
    [QUOTE=HULK]t'as pas oublié un $ ?

    Non, non, la syntaxe est bien $this->var
    Avec PHP5, en tout cas.

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

Discussions similaires

  1. la sauvegarde des bouts de code ?
    Par blackhorus dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 02/10/2005, 13h34
  2. [XML][XSL] déplacer bout de code XML
    Par majanissa dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 14/09/2005, 17h17
  3. Besoin d'explications sur un bout de code
    Par zizitop dans le forum C
    Réponses: 7
    Dernier message: 26/04/2005, 14h51
  4. bout de code à dechifrer svp
    Par bball dans le forum C
    Réponses: 32
    Dernier message: 20/01/2005, 23h23

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