Php 如何修改父函数中的变量?

Php 如何修改父函数中的变量?,php,class,variables,Php,Class,Variables,我想修改父级的$item,然后让父级运行rest进程。如何做? (我不能修改经常通过软件更新更新的父类。另外请注意,$item是函数中的一个变量,它不是父->变量) 将它们作为参数传递。比如说 Class Parent{ function __constructor(){....} function save(){ function save($items = null){ $items = is_null($items) ? get_items($

我想修改父级的$item,然后让父级运行rest进程。如何做? (我不能修改经常通过软件更新更新的父类。另外请注意,$item是函数中的一个变量,它不是父->变量)


将它们作为参数传递。比如说

Class Parent{
     function __constructor(){....}
     function save(){
     function save($items = null){
        $items = is_null($items) ? get_items($id, $var) : $items;
        // process the data and save
     }
}
Class Child extends Parent{
     function __constructor(){
         parent::__construct();
     }
     function save($items = null){
       $items = is_null($items) ? get_items($id, $var) : $items;
        // precess data and save
     }
     return parent::save($items);
}

}

我无法修改父类,因为它在软件升级时会被释放。根据设计,这可能会覆盖保存在childs方法中的更改。$item不是父类的成员变量,而是父函数中的变量。因此,在child中,$item可能不会被识别为同一个vard,这似乎是第三方父类的糟糕设计。任何解决方案都将意味着要么是代码复制,要么是黑客的变通方法,这两者都会在升级时带来维护问题。这是什么包裹?
Class Parent{
     function __constructor(){....}
     function save(){
     function save($items = null){
        $items = is_null($items) ? get_items($id, $var) : $items;
        // process the data and save
     }
}
Class Child extends Parent{
     function __constructor(){
         parent::__construct();
     }
     function save($items = null){
       $items = is_null($items) ? get_items($id, $var) : $items;
        // precess data and save
     }
     return parent::save($items);
}
Class Parent{
    protected $items;
     function __constructor(){....}
     function save(){
       $this->items = get_items($id, $this->var);
       // process the data and save
     }
}
Class Child extends Parent{
     function __constructor(){
         parent::__construct();
     }
     function save(){
         $this->items = something_else();
        parent::save();
    }