我在 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