[POO] Portée des variables, classe....
Bon, y a un truc que je comprends plus du tout en php.
Prenons comme exemple cette structure de programme :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
<?
require('maClasse.class.php');
$objet = new maClasse(); // instancie $objet et remplit ses attributs de pleins de valeurs
//point1
function f1(){
//point2
f2();
}
function f2(){
//pleins de choses
//point3
}
f1();
//point4 |
Si je fais un var_dump($objet) aux point1 et point4, pas de problème, l'objet existe et tous ses attributs sont remplis.
Par contre, aux point2 et point3, PHP me renvoie NULL :-(
une variable définie au "niveau0" de la structure d'un programme n'est pas définie dans les niveaux imbriqués? Quand mon fichier est une classe, je n'ai pas de problèmes car mes variables sont soit des attributs, soit elles sont passées en argument de fonction.
Pour que je puisse utiliser $objet dans f1() et f2(), il va donc falloir que je passe $objet en argument?
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
function f1($o1){
//point2
f2($o1);
}
function f2($o2){
//pleins de choses
//point3
}
f1($objet); |