我在php中有一个包含的文件,可以从类方法或全局范围中包含。
$this
在第一种情况下有效,但在第二种情况下无效。
有没有办法检查$this
是否可以访问?
isset($this)
和is_object($this)
似乎返回true
,即使不是在班级的方法中。
答案 0 :(得分:1)
好吧,当您在课程中包含该文件时,可以访问$this
。所以你应该在这里做一个更严格的类型检查。
尝试使用instanceof
确定$this
是否符合您的要求:
if ($this instanceof MyObject) {
// in my class
} else {
// not in my class
}