PHP-将数据传递给子对象中的父方法

问题描述 投票:-1回答:1

我想写一个对象“ widget”,它将具有显示方法以显示一些小部件,标题,图标,并且我希望具有子对象,该子对象将定义要填充的数据。

所有小部件将具有相同的HTML模板,但内容不同。因此,我想要一些基本的小部件和子对象,它们将定义要填充在同一HTML模板中的数据。

示例:

class basicWidget {
  public $title;
  public $id;
  public $icon;
  public $url;

  public function __construct($id,$title,$icon,$url="")
  {
        $this->id = $id;
        $this->title = $title;
        $this->icon = $icon;
        $this->url = $url;
    }

  private function prepareData()
  {
      return "my data";
  }

  public function ReturnWidget()
  {
    $re="<div class=myhtmltemplate>".$this->prepareData()."</div>";
     return $re;
  }

  public function Show()
  {
      echo($this->ReturnWidget());
  }  
}

class WidgetUserHistory extends basicWidget { 
  private function prepareData()
  {
    return "user history data";
  }

我想为新的窗口小部件准备新的内容,该内容将应用于basicWidget对象的HTML模板-所有窗口小部件都将具有相同的HTML模板,但内容不同,但是它将返回父级的数据,而不是数据形式重写了prepareData()方法。

任何更好的主意,怎么做,我想要什么?

    public function ReturnWidget(){
      $re=parent::ReturnWidget();
      return $re;
    }
    public function Show(){ // ukaz staticky widget
      extecho($this->ReturnWidget());
    }  
  }
php oop methods parent
1个回答
-1
投票

嗯,问题是,我将其声明为私有函数。

© www.soinside.com 2019 - 2024. All rights reserved.