提问人:Vinicius Cavalcante Santos 提问时间:1/15/2023 最后编辑:Vinicius Cavalcante Santos 更新时间:1/16/2023 访问量:27
我怎样才能使所有变量都可以在PHP的方法中访问
How can i make all variables outiside accessible inside a method in PHP
问:
我不认为这被认为是一种不好的做法,但我的目的只是为了研究,我想取消如果一个函数“渲染”内部有一个包含,可以有这个包含来访问外部变量,否则它无论如何都会丢失它,即使因为该渲染已经是应用程序的末尾,所以失去对这些变量的访问是没有意义的,而且通过方法传递它然后使用摘录。
我尝试使用全局,但您需要告知每个变量的名称,并且无法在更大的范围内工作。
编辑1:我正在添加更多信息(对不起,这是我关于stackoverflow的第一个问题) 所以我正在研究的代码来自 League/Plates,我试图按照我上面所说的去做,但我找到了这段代码
public function render($data) {
extract($data);
ob_start();
include $this->path();
$content = ob_get_clean();
if (isset($this->layoutName)) {
$layout = $this->engine->make($this->layoutName);
$layout->sections = array_merge($this->sections, array('content' => $content));
$content = $layout->render($this->layoutData);
}
return $content;
}
因此,在此代码中,当包含视图时,在调用渲染之前创建的所有变量(例如在控制器内部或类似的东西)都无法从视图内部访问它们,当然我可以通过变量$data,但想象一下,如果我有很多变量并多次调用渲染,在我看来没有多大意义。我想也许可以创建渲染方法的功能性外观,但我不知道是否可能以及如何完成。
答: 暂无答案
评论
include
require