如何修改和恢复非静态对象的属性



我有一个这样的类:

class page{
public $head_html = array();

///...........
public function head_html($input = ''){
if(isset($input) && !in_array($input,$this->head_html))
return $this->head_html[] = $input;
return implode("n",$this->head_html);
}
///...........
}
$page = new page();

它已经在许多页面中使用过,我不想进行影响其他页面的更改,所以我不能使类静态,..

但是我想修改我的页面中的全局对象实例:

$page->head_html("css code");
$page->head_html("js code");

并像这样恢复它:

echo $page->head_html();

但它什么也没显示..

当我尝试这个时:

echo implode("n",$page->head_html);

它工作正常,但在某些情况下获取值会更复杂。 如何在不更改使用此类的其他页面和文件的行为的情况下使用该类中的函数/方法来实现此目的?

如果您没有在数组中传递head_html()值,则返回$this->head_html[] = $input;的真/假结果。这就是你想要的吗?如果希望head_html()返回更新的值,请return删除

return $this->head_html[] = $input;

最新更新