PHP在另一个类中调用public变量

时间:2014-06-30 21:04:29

标签: php function class variables

我正在尝试调用另一个类中的类中使用的公共变量。我能够调用变量,但它返回一个空白数组。

我正在处理的代码,

第一课:

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,但是这样我只用一个变量结束,并且在该函数中有多个变量。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:2)

你没有用任何东西构建数组..

public $ID = array();

为空......直到您致电getFruitID

如果需要,可以将其添加到构造函数中。

constructors PHP

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);

    }     
}