PHP 从其他类调用来自子类的父方法


PHP call from other class the parent methods from child

我的项目中有 3 个类(连接、父类和子类)。

父母

class Upload {
   public function UploadFile(){
        /* some code */     
   } 
}

孩子

class Photos extends Upload {
  public function getUrl(){
      /* some code */           
  } 
  public function UploadPhoto(){
     $this->getUrl();   
     $this->UploadFile();       
  } 
}

现在,我想创建一个可以使用其他类方法的类。

Class Example {
private $db;
private $ph;
     public function __construct( Mysqliconn $db, Photo $ph) {
        $this->db = $db;    
        $this->ph = $ph;   
     } 
     public function callUploadPhoto() {
        $this->ph->UploadPhoto();
     }
}

以这种方式实例化

$db = new Mysqliconn();
$ph = new Photos($db);
$ex = new Example($db, $ph);

我的问题是我可以调用其他类的方法,但不能调用引用父类的方法。如果我调用 $ex->callUploadPhoto() 调用照片类的 getUrl() 方法,但不调用父上传方法 Upload()。我该怎么做?谢谢

尝试使用新的PHP 5.4.0未来特征

这可以很容易地解决您的问题...

您得到的错误到底是什么?

上传照片功能第 2 行$name变量是什么,即 $this->上传($name)?

示例类需要扩展 Photos 类。这就解决了。