我想将一个变量传递给一个数组。我有两节课。一个MenuClass
用于注册菜单 - 我需要将变量填充为数组。我将使用扩展的第二个类,并传入多个菜单。所以我需要每次运行将另一个项目插入Main->loaded_menus[
]数组。
它们被加载到不同的文件中,但同时加载。这是我正在使用的一个非常基本的例子......
class Main {
public $loaded_Menus = array();
public function __construct() {}
}
class MenuClass {
public $name;
public $id;
public function build($id, $name) {
$this->id = $id;
$this-name = $name;
$populate = new Main;
$populate->loaded_Menus[$this->id] = $this->id;
}
}
答案 0 :(得分:1)
当你从另一个类扩展时,所有公共属性都将被继承,因此你不需要创建父类的新实例
class MenuClass extends Main {
public $name;
public $id;
public function build($id, $name) {
$this->id = $id;
$this-name = $name;
$this->loaded_Menus[$this->id] = $this->id;
}
}
如果要将所有先前的值保留在父类中,请将其定义为static;因此,当您的页面处于活动状态时,将保留值
class Main {
public static $loaded_Menus = array();
public function __construct() {}
}
class MenuClass extends Main {
public $name;
public $id;
public function build($id, $name) {
$this->id = $id;
$this-name = $name;
parent::$loaded_Menus[$this->id] = $this->id;
}
}