1

私の質問は、別のクラスPHPの関数内の関数の呼び出しに似ていますが、その答えは私には機能しません。

基本的にここに私がやりたいことがあります。

'a.php'で、クラスAを定義しました。

class A{
  function ab(){}
  function cd(){}
  function ef(){}
  ...
}

'b.php'で、クラスAの関数を呼び出すことができるクラスBを定義したいと思います。これが私が書いたものですが、機能していないようです。

class B{
  function xy(){
    require 'a.php';
    $a = new A();
    $this->x = $a->ab();
    $this->y = $a->cd();
    return $a->ef();
  }
}

誰かが私を正しい方向に向けることができますか?ありがとう

========

更新:私の質問をより明確にするために、私は別の例を作成しました。

class Person{
  function firstName(){return $this->firstName;}
  function lastName() {return $this->lastName;}
  function address()  {return $this->address;}
  ...
}

class Car{
  function ownerInfo(){
     $owner = array();
     require 'person.php';
     $p = new Person($this->ownerID);
     $owner['firstname'] = $p->firstName();
     $owner['lastname']  = $p->lastName();
     $owner['address']   = $p->address();
     //I am sure the data is there, but it returns nothing here
     return $owner;  
  }
}
4

1 に答える 1

1

このようにしてみてください

class B extends A{
  function xy(){
    require 'a.php';
    $a = new A();
    $this->x = $a->ab();
    $this->y = $a->cd();
    return $a->ef();
  }
}
于 2013-01-29T06:46:13.647 に答える