我正在尝试调用另一个类中的类中使用的公共变量。我能够调用变量,但它返回一个空白数组。
我正在处理的代码,
第一课:
class fruits {
public $ID = array();
private function getFruitID() {
$fruitID = array('1' , '2', '3' , '4' , '5' );
return $fruitID;
}
private function getFruitsName() {
$fruitName = array('apple' , 'orange' , 'kiwi' , 'grapes' , 'mango');
return $fruitName ;
}
public function getstock() {
$this->ID = getFruitID();
/* Prints the ID list here */
$this->name = getFruitsName();
/* This function renders to the template */
}
}
第二课:
class TestPage{
public function displayFruits() {
require_once ('fruits.php');
$fruits = new fruits();
$data = $fruits->ID;
echo($data);
/* displays an empty array */
}
}
当我在TestPage上的displayFruits()中回显$ data时,它会打印一个空白数组,而不是实际的ID。我坚持在TestPage类上获取id。我可以使用return,但是这样我只用一个变量结束,并且在该函数中有多个变量。任何帮助将不胜感激。
答案 0 :(得分:2)
你没有用任何东西构建数组..
public $ID = array();
为空......直到您致电getFruitID
如果需要,可以将其添加到构造函数中。
function __construct( ){
$this->getstock();
}
这意味着您在创建对象new Fruit();
它将在其创建中分配数组。
答案 1 :(得分:1)
目前它是空的。
public $ID = array();
在下方添加以填充数组
class TestPage{
public function displayFruits() {
require_once ('fruits.php');
$fruits = new fruits();
$fruits->getstock();
$data = $fruits->ID;
echo($data);
}
}