这就是我在foo.php中拥有的

class Foo
{
    public $foo = NULL;
    public $foo2 = NULL;

    public function setFoo ($foo, $foo2)
    {
       $this->foo = $foo;
       $this->foo2 = $foo2'
    }
}

这就是我在foo3.php中拥有的
class Foo3 extends Foo
{
    public $foo3 = NULL;

    public function setFoo3 ($foo3)
    {
       $this->foo = $foo3;
    }
}

这就是我在第三个文件run.php中要求它的方式:
require_once "foo.php";
require_once "foo3.php";
$foo = new Foo();
$foo->setFoo3("hello");

我收到此错误:

致命错误:调用未定义的方法Foo::setFoo3()

我不确定问题是否出在我对它们的需求方式上。谢谢。

最佳答案

在您的示例中,您将实例化Foo,它是父级,并且不知道setFoo3()方法。试试这个:

class Foo3 extends Foo
{
    ...
}

require_once "foo.php";
require_once "foo3.php";
$foo = new Foo3();
$foo->setFoo3("hello");

关于php - 在另一个文件中扩展类的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8088832/

10-12 16:07