php - 在另一个文件中扩展类的正确方法是什么?

标签 php class require extends

这就是我在 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");

我收到这个错误:

fatal error :调用未定义的方法 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/

相关文章:

php - XML 在基于 Web 的应用程序中有何用途?

php - Laravel - 让用户在创建后插入类别并创建新类别(如果不存在)

c++ - .cpp 文件中模板类的非模板方法 - undefined reference ?

Ruby 无法使用 require

php - 如何使用 jQuery 从 php 文件中获取某些内容?

php - 在 Laravel Eloquent 中扩展模型

c++ - 将 "zero"值设置为成员变量

javascript - 使用变量设置类的属性

jquery - 如何在 Google Chrome 的 Greasemonkey 脚本中使用 jQuery?

node.js - 在 Node.js 中,我是否在 "Require"时创建了一个新对象?