类方法中包含的文件中的$this的PHP范围

类方法中包含的文件中的$this的PHP范围,php,class,methods,instance,Php,Class,Methods,Instance,我的一个类中有一个方法 public function render() { foreach ($this->_levels as $level) { ob_start(); $path = $_SERVER['DOCUMENT_ROOT'] . '/' . $level[0] . '/' . $level[1] . '.php'; if (file_exists($path)) { require(

我的一个类中有一个方法

public function render() {

    foreach ($this->_levels as $level) {

        ob_start();

        $path = $_SERVER['DOCUMENT_ROOT'] . '/' . $level[0] . '/' . $level[1] . '.php';

        if (file_exists($path)) {

            require($path);
        }

        $content = ob_get_clean();

        if ($content) {

            $this->_content = $content;
        }
    }

    return $this->_content;
}
在包含的文件中,我可以访问$this。我有没有办法让这件事不发生?那么$this没有定义


我尝试将其包装在匿名函数中并绑定到null,但它不起作用。

您可以在类外创建新函数,并从中获取文件。Composer正在其中执行此操作。

是否要删除$this->\u levels和$this->\u content的用法?不,包含的文件在$this的范围内,我想从包含的文件中删除对象范围,就像它是从类方法之外包含的一样,然后不包含该文件。还有其他方法可以注入数据/代码/任何东西。因此:XY问题。您试图实现什么,即当您想到在类方法定义中包含文件时,您试图解决什么问题??