相关疑难解决方法(0)

PHP致命错误:在不在对象上下文中时使用$ this

我有一个问题:

我正在编写一个没有框架的新WebApp.

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

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

在我的class.php中,我遇到了这个错误:

致命错误:当不在class.php中的对象上下文中时使用$ this ...(在这个例子中它将是11)

我的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;
    }
}
Run Code Online (Sandbox Code Playgroud)

在我的index.php中我加载可能foobarfunc()是这样的:

foobar::foobarfunc();
Run Code Online (Sandbox Code Playgroud)

但也可以

$foobar = new foobar;
$foobar->foobarfunc();
Run Code Online (Sandbox Code Playgroud)

为什么会出现错误?

php class function object fatal-error

123
推荐指数
6
解决办法
40万
查看次数

如何在PHP中检查我是否处于静态上下文中(或不是)?

有什么方法可以检查方法是静态调用还是实例化对象?

php methods static

30
推荐指数
4
解决办法
1万
查看次数

如何判断PHP中是否静态调用函数?

可能重复:
如何判断我是静态还是对象?

假设我有FooClass一个bar()方法.在bar()方法的内部,有没有办法告诉它是否静态调用,所以我可以区别对待这两种情况?

FooClass::bar();
$baz = new FooClass();
$baz->bar();
Run Code Online (Sandbox Code Playgroud)

php oop

2
推荐指数
1
解决办法
1371
查看次数

标签 统计

php ×3

class ×1

fatal-error ×1

function ×1

methods ×1

object ×1

oop ×1

static ×1