[PHP] petite question sur les classes

Résolu
fraid Messages postés 42 Date d'inscription   Statut Membre Dernière intervention   -  
fraid Messages postés 42 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

j'ai un petit soucis je ne sais pas comment faire voici un exemple :

<?
$mavar="par défaut";

class test
{

function test ($mavar)
{
$this->vari="$mavar";
}

}

$c = new test;
?>

et si je code echo $c->vari il n'y a rien...autrement dit ma variable $mavar (définie en début de page) ne passe pas dans la classe...mais pourquoI / comment contourner le problème ???

merci d'avance
A voir également:

5 réponses

ftiercel Messages postés 119 Date d'inscription   Statut Membre Dernière intervention   61
 
Vu comme ça, la variable que tu définis en haut et celle que tu utilises dans ta classe sont totalement indépendantes. Voilà ce qu'il faudrait écrire pour que la variable soit prise en compte :

<?
class test
{

function test ($mavar)
{
$this->vari="$mavar";
}

}

$c = new test("par défaut");
?>
0
fraid Messages postés 42 Date d'inscription   Statut Membre Dernière intervention   5
 
merci de la réponse.
dans la mesure ou j'aurai pas mal d'éléments par défauts (mais tous variables) il n'y a pas un moyen plus simple pour appeler ma classe ? (que à chaque fois de repasser toutes mes variables dans l'appel...)
0
ftiercel Messages postés 119 Date d'inscription   Statut Membre Dernière intervention   61
 
En fait, là, c'est plus qu'un appel, c'est une instanciation d'objet de la classe. En d'autres termes, à chaque fois que tu écris un new, tu crées de nouvelles données. Peut-être devrais-tu utiliser des fonctions en dehors des classes.
0
Flachy Joe Messages postés 2102 Date d'inscription   Statut Membre Dernière intervention   261
 
Si tu défini tes valeurs par défaut dans un tableau, tu n'as plus qu'une variable à passer à la création.

class test
{
function test ($tabl)
{
$this->vari=$tabl['$mavar'];
}
}

$default['mavar'] = "defaut";
$default['autrechose'] = "Bonjour";

$c = new test($default);

Tu peux même parcourir le tableau pour créer toutes les variables de ta classe en fonction des clés :

function test ($tabl)
{
foreach ($tabl as $key => val)
$this->$key=$val;
}
0

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

Posez votre question
fraid Messages postés 42 Date d'inscription   Statut Membre Dernière intervention   5
 
merci pour l'idée je n'y avais pas pensé !!
bonne journée à tous les deux !

Frederic
0