Visibilité des membres d'une classe avec autoload ?

Résolu
Utilisateur anonyme - 23 mars 2006 à 12:07
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 - 23 mars 2006 à 14:44
Bonjour,
ca m'énérve !!! J'ai une classe que je veut instancier dans un autre script avec autoload. L'objectif étant de récupérer des variables tableaux de ma class ParcoursClass, pour les expédier dans une autre classe ensuite.
Mais je n'arrive pas à récupérer un tableau plein :

class ParcourClass
{
public static $tabChem=array();
public static $tabNom=array();
public static $tabDesc=array();

public function xml($Theme){
$xml = simplexml_load_file("Tofs2.xml");
$requeteNomFic='/racine/'.$Theme.'/photo/NomFic';
$requeteChem='/racine/'.$Theme.'/photo/Chemin';
$requeteDesc='/racine/'.$Theme.'/photo/Desc';
$i=0;
foreach ($xml->xpath($requeteNomFic) as $nom) {
foreach ($xml->xpath($requeteChem)as $chem){
foreach($xml->xpath($requeteDesc)as $Desc){
$tabChem[$i]= $chem;
$tabDesc[$i]=$Desc;
$tabNom[$i]=$nom;
}
}
// echo $tabChem[$i].$tabNom[$i].$tabDesc[$i].'
';
$i++;
}//foreach
return self::$tabNom;
}//function xml
}//fin class

Dans ma page qui crée l'instance :

function __autoload($class_name) {
require_once $class_name . '.php';
}

$instance = new ParcourClass();
$instance->xml($aaa); //jusque la tout va bien

$t=$instance->tabNom;
echo var_dump($t); //Je récupere bien un array mais vide :(

//$InstMin = new ClassMin();

Par avance merci au(x) motivé(s) qui pourra(ont) m'aider
U just need a fuck for Ur violence

8 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
23 mars 2006 à 14:36
Oui mais l'erreur commence ici :

$tabChem[$i]= $chem;
$tabDesc[$i]=$Desc;
$tabNom[$i]=$nom;
3
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
23 mars 2006 à 12:42
Hello,

et tu espèrais avoir quoi, au juste...?

Un exemple :
<?php
class statique {
public static $myStatic = '';


public function test ($sString) {
self::$myStatic = $sString;
}
}


$obj = new statique;
$obj -> test ('test');
echo statique::$myStatic; // renvoie : test
// echo $obj::$myStatic // erreur
// echo $obj::myStatic // erreur
// echo $obj -> myStatic // erreur (myStatic n'existe pas)
?>
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
23 mars 2006 à 12:44
Et encore une précision :

<?php
class statique {
public static $myStatic = '';


public function test ($sString) {
$myStatic = $sString;
}
}


$obj = new statique;
$obj -> test ('test');
echo statique::$myStatic; // renvoie une chaîne vide...
?>
0
Utilisateur anonyme
23 mars 2006 à 13:52
Ce ke je cherche à faire c'est récupérer mes tableaux dans la page ou je fai l'autoload. Afin de les envoyer ensuite dans d'autre classes...

U just need a fuck for Ur violence
0

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

Posez votre question
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
23 mars 2006 à 14:21
Oui, et alors ?
l'autoload sert uniquement à éviter les mulitples require_once...
Il inclus directement les classes que tu instancies.
Après, ce qui se passe dans ta classe, ça ne regarde pas l'autoload, il s'en tape.
ce que je te montrais, c'est que tu utilisais de toutes façons mal tes propriétés statiques.
0
Utilisateur anonyme
23 mars 2006 à 14:32
Oui j'ai remarqué mais en fait g posté un des nombreux tests ke g fait. Meme avec :
$t = ParcourClass::$tabNom

je récupere pas le tableau
U just need a fuck for Ur violence
0
Utilisateur anonyme
23 mars 2006 à 14:41
Arf je suis un boulet . Merci à toi malalam

U just need a fuck for Ur violence
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
23 mars 2006 à 14:44
je t'en prie ;-)
0
Rejoignez-nous