Ben bir veritabanından satırları yüklemek ve daha sonra onlardan nesneleri oluşturmak ve özel bir dizi bu nesneleri eklemek çalışıyorum.
İşte benim sınıfları şunlardır:
<?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];
}
}
?>
Eğer ben (Şimdi bir kod ve açıklama vardır) veritabanı satır başına bir stationItem nesnesi oluşturma ve sonra stationList özel bir değişken olarak düzenlenen benim dizinin sonuna bu itmek görebilirsiniz.
Bu, bu sınıfları ve onlara özelliklerine erişmek için girişimleri oluşturur kod:
$stations = new stationList();
$station = $stations->getStation(0);
echo $station->getCode();
Ben yapıcı sonunda sizeof ($ stationList) 1 olduğunu bulma yaşıyorum ama biz dizini kullanarak diziden bir nesneyi almak için denemek için geldiğinizde o sıfırdır. Bu nedenle almak hatadır:
Ölümcül hata: olmayan bir nesne üzerinde bir üye işlev getCode () Çağrı
Bu neden oluyor biri bana açıklayabilir miyiz? Ben nesne başvuruları PHP5'ta nasıl yanlış anlama ediyorum sanırım.