1

我的项目中有 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 方法Upload()。我怎么能这样做?谢谢

4

3 回答 3

0

尝试使用新的php 5.4.0 未来 特性

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

于 2013-11-07T11:06:44.237 回答
0

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

UploadPhoto 函数第 2 行中的 $name 变量是什么,即 $this->Upload($name)?

于 2013-11-07T11:15:02.530 回答
0

您的 Example 类需要扩展 Photos 类。这解决了它。

于 2013-11-07T11:20:18.747 回答