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 :

variable dans une class (POO / OOP) [PHP 7]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Aprenti
    Inscrit en
    Mai 2015
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Aprenti

    Informations forums :
    Inscription : Mai 2015
    Messages : 199
    Par défaut variable dans une class (POO / OOP)
    Bonjour,

    Je vais déclarer une variable dans un class toto :
    dans mon fichier parametre.class.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    	class _toutParam {
     
            public  $non = 'none et null';
    	}
    et cela marche bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        require "class/parametre.class.php";
        use webhooks\allGeneral\_toutParam  as tout;
        $all = new tout();
        echo $all->non;
    mais avec la fonction natif de PHP dans ma variable [date('Y')]
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    	class _toutParam {
     
            public  $non = 'none et null';
            public  $ladate = date('Y') . "/" . date('m_F')."/".date('d_l');
     
    	}
    lorsqu'il y a de fonction natif de PHP dans ma variable, il y a un problème :Fatal error

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        require "class/parametre.class.php";
        use webhooks\allGeneral\_toutParam  as tout;
    $all = new tout();
     
     
    echo $all->non;
    echo'<br>';
    echo $all->ladate;
    Fatal error: Constant expression contains invalid operations in parametre.class.php on line 4
    Donc c'est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public  $ladate = date('Y') . "/" . date('m_F')."/".date('d_l');
    Alors comment je peux rectifier pour que ma variable $ladate soit marche dans un autre fichier ?


    Merci

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Tu ne peux pas donner une valeur dynamique (ici dépendant d'une fonction) lors de l'initialisation de la classe.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    class _toutParam {
     
    	public $ladate;
     
            function __construct() {
    		$this->ladate = date('Y') . "/" . date('m_F')."/".date('d_l');
    	}
    }
     
    $all = new _toutParam();
    echo $all->ladate;;
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre éclairé
    Homme Profil pro
    Aprenti
    Inscrit en
    Mai 2015
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Aprenti

    Informations forums :
    Inscription : Mai 2015
    Messages : 199
    Par défaut
    Un grand merci Sabotage,

    Je pense que j'ai bien compris la fonction [__construct] grâce à ton exemple.

    Ça marche et super gentil,

    Bonne journée

    Voici mon code qui marche :
    dans parametre.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
    14
    15
    16
    17
    18
    19
    20
    21
    <?php
     
    	class _toutParam {
     
            public  $non;
     
    		//public  $ladate = date('Y') . "/" . date('m_F')."/".date('d_l');
    		public $ladate;
    		public $annee;
    		public $laroot;
     
    		function __construct() {
    		$this->ladate = date('Y') . "/" . date('m_F')."/".date('d_l');
    		$this->annee = date('Y');
    		$this->non = 'none et null';
    		$this->laroot = realpath($_SERVER["DOCUMENT_ROOT"]);
     
    	}
     
     
    }
    et voici mon fichier index.php
    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
    <?php
     
     
        require "parametre.class.php";
        use _toutParam  as tout;
     
    	$all = new tout();
     
     
    echo $all->non;
    echo'<br>';
    echo $all->ladate;
     
     
    echo'<br>';
    echo $all->annee;
     
    echo'<br>';
    echo $all->laroot;

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 06/09/2008, 11h53
  2. [AS2]Visibilité de variable dans une class
    Par ViveLesQuads dans le forum ActionScript 1 & ActionScript 2
    Réponses: 6
    Dernier message: 06/12/2007, 16h47
  3. [POO] Variable dans une classe
    Par Space Cowboy dans le forum Langage
    Réponses: 3
    Dernier message: 15/02/2007, 20h23
  4. Ajout d'une variable dans une class fait planter
    Par Geoff-sk8 dans le forum C++
    Réponses: 4
    Dernier message: 11/10/2006, 14h27
  5. Réponses: 2
    Dernier message: 17/12/2005, 20h52

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