正如你在下面看到的,我有一个超类(文章)和两个子类.我希望每个子类都有一个静态数组,它可以保存所有它的对象.
abstract class Article
{
public static $articles = array(); // Variable for storing all the objects of each sub-class.
public function add_Object_To_Array()
{
array_push(self::$articles, $this);
}
}
class Report extends Article{}
class Interview extends Article{}
– 制作两个Report对象并将它们添加到数组中:
$tmp = new Report();
$tmp->add_Object_To_Array();
$tmp = new Report();
$tmp->add_Object_To_Array();
– 制作两个Interview对象并将它们添加到数组中:
$tmp = new Interview();
$tmp->add_Object_To_Array();
$tmp = new Interview();
$tmp->add_Object_To_Array();
print_r(Report::$articles);
print_r(Interview::$articles);
– 上面的脚本吐出了两个arays:
Array
(
[0] => Report Object()
[1] => Report Object()
[2] => Interview Object()
[3] => Interview Object()
)
Array
(
[0] => Report Object()
[1] => Report Object()
[2] => Interview Object()
[3] => Interview Object()
)
如果你问我,它看起来非常相似,但第一个应该只包含Reports,第二个只包含Interviews.
1.似乎只有一个数组,为什么它只有一个数组?
2.我在同一个类中有一个静态容器对象,这是不好的编码? (有什么建议?)
我对php很新,但有java的背景知识.