Hey, j'ai un petit scénario de test comme suit:Retour d'un objet SimpleXML dans le constructeur de la classe - pourquoi cela ne fonctionne-t-il pas?
class T {
public function __construct(){
$obj = new SimpleXMLElement(file_get_contents('vote.xml'));
return $obj;
}
}
$vv=new T;
var_dump($vv);
La décharge de $vv
est égal, dans ce cas, object(T)#1 (0) { }
- autrement dit, pas le résultat attendu
Quand je retourner l'objet dans une fonction distincte, bien que, comme ceci:
class T {
public function stackOverflow(){
$obj = new SimpleXMLElement(file_get_contents('vote.xml')); // or simplexml_load_file
return $obj;
}
}
$vv=new T;
$vv = $vv->stackOverflow();
var_dump($vv);
sortie est comme prévu (contenant l'objet contenu du « vote.xml », des étiquettes et des attribu tes). Pourquoi ne puis-je pas renvoyer l'objet à l'intérieur du constructeur? Merci!