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 :

Erreur de déclaration dans une classe


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Ingénieur en électrotechnique retraité
    Inscrit en
    Décembre 2008
    Messages
    1 718
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur en électrotechnique retraité

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 718
    Par défaut Erreur de déclaration dans une classe
    Bonjour,

    J'ai une erreur:
    Constant expression contains invalid operations on line 2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    private $errors		= []; // Liste des messages d'erreurs
    public $errCount	= count($errors);
    Je ne comprends pas parce qu'il ne s'agit pas d'une constante mais d'une variable. Comment faire pour maintenir la variable $errCount à jour?

  2. #2
    Membre éprouvé
    Homme Profil pro
    Developpeur
    Inscrit en
    Juillet 2014
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Developpeur

    Informations forums :
    Inscription : Juillet 2014
    Messages : 102
    Par défaut
    Bonjour,
    Pouvez vous donner la classe complète ?

    Je pense qu'il faut faire une méthode pour cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public function getErrorCount() {
    return count($this->errors);
    }

  3. #3
    Membre éprouvé
    Homme Profil pro
    Ingénieur en électrotechnique retraité
    Inscrit en
    Décembre 2008
    Messages
    1 718
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur en électrotechnique retraité

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 718
    Par défaut
    Bonjour,
    Pour l'instant, ma classe ne contient que les déclarations de variables mais je réalise que mon problème est stupide. Au départ le compteur est forcément égal à 0 et il faut le mettre à jour par une méthode privée, ce que j'ai fait.

  4. #4
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Salut,
    Citation Envoyé par moimp Voir le message
    Au départ le compteur est forcément égal à 0 et il faut le mettre à jour par une méthode privée, ce que j'ai fait.
    C'est rarissime de mettre à jour un compteur au sein d'une classe, rarissime !
    Quand t'as besoin de la valeur du compteur il est préférable de procéder au comptage à l'endroit où t'en as besoin dans le code.
    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
    class Foo 
    {
        private $errors = [];
     
        public funtion errors(): array
        {        
            return $this->errors;
        }
     
        public function hasErrors(): bool
        {
            return ! empty($this->errors);
        }
    }
     
    $foo = new Foo();
    $nb_err = count($foo->errors());

  5. #5
    Membre éprouvé
    Homme Profil pro
    Ingénieur en électrotechnique retraité
    Inscrit en
    Décembre 2008
    Messages
    1 718
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur en électrotechnique retraité

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 718
    Par défaut
    OK, merci

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

Discussions similaires

  1. erreur déclaration d'un attribut ifstream dans une classe
    Par tiresias54 dans le forum Débuter
    Réponses: 5
    Dernier message: 10/03/2015, 12h49
  2. [POO] erreur de syntaxe dans une classe
    Par ChronoTiger dans le forum Langage
    Réponses: 1
    Dernier message: 05/01/2009, 19h40
  3. [Tableaux] Déclaration d'un tableau dans une classe
    Par rochenico dans le forum Langage
    Réponses: 4
    Dernier message: 22/12/2006, 11h29
  4. Réponses: 13
    Dernier message: 25/03/2005, 11h00
  5. [Thread] Erreur dans une classe interne
    Par totof2308 dans le forum Général Java
    Réponses: 5
    Dernier message: 03/06/2004, 08h15

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