类方法中包含的文件中$this的PHP作用域


PHP scope of $this in included file in class method

我的一个类中有一个方法,看起来像

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,但它不起作用。

您可以在类和require文件之外创建一个新函数。Composer在他们的ClassLoader.php.

中这样做