J'essaie de charger des lignes à partir d'une base de données, puis de créer des objets et d'ajouter ces objets à un tableau privé.Le tableau d'objets est vide lorsque je viens d'en extraire un du tableau
Voici mes classes:
<?php
include("databaseconnect.php");
class stationItem {
private $code = '';
private $description = '';
public function setCode($code){
$this->code = $code;
}
public function getCode(){
return $this->code;
}
public function setDescription($description){
$this->description = $description;
}
public function getDescription(){
return $this->description;
}
}
class stationList {
private $stationListing;
function __construct() {
connect();
$stationListing = array();
$result = mysql_query('SELECT * FROM stations');
while ($row = mysql_fetch_assoc($result)) {
$station = new stationItem();
$station->setCode($row['code']);
$station->setDescription($row['description']);
array_push($stationListing, $station);
}
mysql_free_result($result);
}
public function getStation($index){
return $stationListing[$index];
}
}
?>
Comme vous pouvez le voir, je suis en train de créer un objet stationItem par ligne de base de données (qui, pour a maintenant un code et la description) et je puis pousser ces à la fin de mon tableau qui est détenu comme une variable privée dans stationList.
C'est un code qui crée cette classe et tente d'accéder aux propriétés sur les:
$stations = new stationList();
$station = $stations->getStation(0);
echo $station->getCode();
Je trouve que le sizeof (stationList $) à la fin du constructeur est 1, mais il est égal à zéro quand nous essayons d'obtenir un objet du tableau en utilisant l'index. Par conséquent, l'erreur que je reçois est:
Erreur fatale: Appel à une fonction membre getCode() sur un non-objet
S'il vous plaît quelqu'un peut me expliquer pourquoi cela se passe? Je suppose que je ne comprends pas comment les références d'objet fonctionnent en PHP5.