Problème variable externe a une classe

cs_destiny Messages postés 249 Date d'inscription jeudi 17 février 2005 Statut Membre Dernière intervention 29 août 2011 - 7 juil. 2009 à 12:31
neo1602brice Messages postés 77 Date d'inscription dimanche 27 avril 2003 Statut Membre Dernière intervention 10 juillet 2009 - 7 juil. 2009 à 18:24
Bonjour,

Ma question est simple, comment recuprer dans une classe un variable constante ?

Exemple :

define("DEFAULT_PAGE", "welcome");

class initPage {
    echo DEFAULT_PAGE; <----

    //Constructeur
    function initPage() {
        echo DEFAULT_PAGE;<----
    }
   
}

Et de même pour un variable classique du style $_PAGE_ARRAY ?

Merci d'avance.
http://www.exile.fr

5 réponses

neo1602brice Messages postés 77 Date d'inscription dimanche 27 avril 2003 Statut Membre Dernière intervention 10 juillet 2009
7 juil. 2009 à 13:49
Bonjour, l'appel de variables dans une classe fonctionne à peu près comme l'appel d'une fonction de cette dernière. Par exemple:

class test{
  var ou private toto;
 
 funcrtion __construct($toto){
  //Constructeur et initialisation de ta classe
 setToto($toto);
}

funcrtion __destruct(){
 
//destructeur de ta classe
  $this->toto=setToto();

}

function setToto($toto){
$this->toto=$toto;
}

function getToto(){
 
return $this->toto;

}

}

Bon c'est fait en 10s, mais en gros ca se passe comme ca... c'est plus propre et plus orienté POO
Cordialement,
0
cs_destiny Messages postés 249 Date d'inscription jeudi 17 février 2005 Statut Membre Dernière intervention 29 août 2011
7 juil. 2009 à 14:37
Je suis d'accord avec toi, mais ce n'est pas vraiment la réponse que j'attendais !

define("DEFAULT_PAGE", "welcome");

class initPage {
    echo DEFAULT_PAGE; <----

    //Constructeur
    function initPage() {
        echo DEFAULT_PAGE;<----
    }
   
}

Si tu fais ca : Parse error: parse error, expecting `T_OLD_FUNCTION' or `T_FUNCTION' or `T_VAR' or `'}'' in e:\easyphp1-8\www\race24h\class\init.class.php on line 9

Web master LFGTR - RACE24H
http://www.exile.fr
0
neo1602brice Messages postés 77 Date d'inscription dimanche 27 avril 2003 Statut Membre Dernière intervention 10 juillet 2009
7 juil. 2009 à 15:39
J'ai écris un peu vite, j'ai oublié des $ dans la déclaration de mes variables...
Donc que veux tu faire exactement, parce que un récupérer la valeur d'une variable déclaré en define qui plus dans une classe n'est pas très très conventionnel on va dire...

Cordialement,
0
cs_destiny Messages postés 249 Date d'inscription jeudi 17 février 2005 Statut Membre Dernière intervention 29 août 2011
7 juil. 2009 à 15:45
Ben un exemple simple, j'ai un prefix de bbd :

define("BDD_PREFIX", "race24h_");

Maintenant, je veux faire une requete dans une class et j'ai forcement besoin de cette constante, qu'elle est le moyen le plus conventionnel ?

Merci
http://www.exile.fr
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
neo1602brice Messages postés 77 Date d'inscription dimanche 27 avril 2003 Statut Membre Dernière intervention 10 juillet 2009
7 juil. 2009 à 18:24
Bonjour,

Tu peux tout simplement faire en reprenant l'exemple que j'ai cité un peu plus haut (en corrigant les fautes ^^)
class.test.php
class test{
  var $toto;
 
 funcrtion __construct(){
  //Constructeur et initialisation de ta classe
}

funcrtion __destruct(){
  //destructeur de ta classe
}

function setToto($tata){
$this->toto=$tata;
}

function getToto(){
  return $this->toto;
}

}

index.php (par exemple)
//Faire ton require pour appeler ta classe
require('class/class.test.php');
//Déclaration de ta variable BDD_PREFIX
define("BDD_PREFIX", "race24h_");

$test=new test() //Déclaration de la classe
$test->setToto(BDD_PREFIX);

et tu aura dans ta classe, la variable toto prendra la valeur de BDD_PREFIX soit race24h_ avec ton exemple ci-dessus.

Cordialement;
0
Rejoignez-nous