[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 -
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
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:
- [PHP] petite question sur les classes
- Easy php - Télécharger - Divers Web & Internet
- Petite amie virtuelle en français gratuit - Accueil - Intelligence artificielle
- Expert php pinterest - Télécharger - Langages
- Petite croix snap ✓ - Forum Snapchat
- Petite majuscule word ✓ - Forum Word
5 réponses
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");
?>
<?
class test
{
function test ($mavar)
{
$this->vari="$mavar";
}
}
$c = new test("par défaut");
?>
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...)
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...)
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.
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;
}
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;
}
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question