类方法中包含的文件中的$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问题。您试图实现什么,即当您想到在类方法定义中包含文件时,您试图解决什么问题??