PHP 检查$this是否有效


PHP Check if $this is valid

我在 php 中有一个包含的文件,可以从类方法内部或全局范围包含。 $this在第一种情况下有效,但在第二种情况下无效。

有没有办法检查$this是否可以访问? isset($this)is_object($this)似乎true甚至不在类的方法中返回。

好吧,当您将文件包含在类中时,$this可以访问。所以你应该在这里做一个更严格的类型检查。

尝试使用instanceof来确定$this是否是您想要的:

if ($this instanceof MyObject) {
    // in my class
} else {
    // not in my class
}

http://php.net/manual/en/internals2.opcodes.instanceof.php