Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在PHP中调用另一个类函数_Php_Class_Function - Fatal编程技术网

如何在PHP中调用另一个类函数

如何在PHP中调用另一个类函数,php,class,function,Php,Class,Function,我的问题类似于,但它的答案对我来说并不适用 基本上这就是我想做的 在“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.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;  
  }
}
像这样试试

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

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


继承?……只将<代码>类B/<代码>扩展到<代码>类A/C++ >,您可以使用在<代码>类A/<代码>中定义的方法,将类B扩展为PHP,但我知道C++中包含(需要)文件头(文件的开头,或B类减速之前)。实际上A和B是不同的模型,所以我不想使用“B类扩展A”。A和B中的大多数其他函数都不相关。我试图将require语句放在文件的开头,但它也不起作用。继承?…只需将
类B
扩展到
类A
,您可以使用
类A
中定义的那些方法用类AnotSure为php扩展类B,但我知道在C++中包含(需要)文件中的头(文件的开头好,或者B类减速之前)实际上A和B是不同的模型,所以我不想用“B类扩展A”。A和B中的大多数其他函数都不相关。我试图将require语句放在文件的开头,但它也不起作用。当然它不好,但我们可以这样使用,因为每当使用此类B时,它可能会提取A.php文件,或者,加载一个不可计算的.php可能会被禁止……还有其他方法吗?事实上,我已经把“A类扩展C类”和“B类扩展D类”加上
扩展A
没有任何作用。这只会增加代码混乱。@coolmoon您可以这样做,如果您将其他对象扩展到其他对象,则会出现NP。当然这并不好,但我们可以这样使用,因为每当使用此类B时,它可能会提取一个.php文件,或者它可能会减少加载一个不可计算的.php….还有其他方法吗?事实上,我已经把“A类扩展C类”和“B类扩展D类”加上
扩展A
没有任何作用。这只会增加代码的混乱。你可以这样做,如果你将其他人扩展到其他人,就会出现NP