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

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

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

中这样做