我有个问题:

我正在写一个没有框架的新网络apply.

在我使用的index.php中:require_once('load.php');

load.php中,我用require_once('class.php');来加载我的class.php.

在我的class.php美元里,我有这个错误:

致命错误:在class.php行上不在对象上下文中时使用$this.(在本例中为11)

my class.php是如何编写的示例:

class foobar {

    public $foo;

    public function __construct() {
        global $foo;

        $this->foo = $foo;
    }

    public function foobarfunc() {
        return $this->foo();
    }

    public function foo() {
        return $this->foo;
    }
}

在我的index.php中,我加载了大约foobarfunc()个,如下所示:

foobar::foobarfunc();

但也可以是

$foobar = new foobar;
$foobar->foobarfunc();

为什么会出现错误?

推荐答案

在我的index.php中,我可能正在加载 foobarfunc()如下所示:

 foobar::foobarfunc();  // Wrong, it is not static method

但也可能是

$foobar = new foobar;  // correct
$foobar->foobarfunc();

您不能以这种方式调用方法,因为它不是静态方法.

foobar::foobarfunc();

您应该改为使用:

foobar->foobarfunc();

但是,如果您创建了一个静态方法,比如:

static $foo; // your top variable set as static

public static function foo() {
    return self::$foo;
}

然后,您可以使用此命令:

foobar::foobarfunc();

Php相关问答推荐

自定义WooCommerce查询字符串仅显示前3个产品

FatFreeFramework上的不同路由

从WooCommerce购物车和 checkout 页面自定义发货标签

通过DO LAMP进行身份验证并从邮箱发送邮箱的最简单方式是什么

如何删除Foreach语句中的重复值?

如何将隐式乘法添加到PHPPEG基本计算器语法中?

为什么本地主机(Xampp)上的laravel运行速度比普通html站点慢?

删除了数组中的值,而不是多个数组

如何在微软图形API中使用用户S访问令牌或基于租户ID的访问令牌?

在Laravel中创建辅助函数时的约定

是否有条件判断是否发布了另一个Wordpress页面?

防止在WordPress短代码中显示重复产品并请求代码更正

在 WooCommerce 更新结帐事件上动态更新自定义内容

如何使用 PHP 将带有图像的文本上传到 Linkedin?

通过ajax发送数据到下拉列表未完全设置为所选

PHP 中的 libgd 无法读取 Apache 配置中的 SetEnv GDFONTPATH

尽管有use指令,PHP 类在其他文件中仍处于可见状态

同一页面上多个组件的 Livewire 分页问题

使用 PHP 正则表达式从仅包含具有现有顺序的顶级标签的 XML 文档中搜索和创建数组

如何使用先前 SELECT 的结果来 SELECT SQL 数据