我一直在研究Lithium PHP Framework,但我不明白它是如何设置的$this->context;
(尤其是在这个布局中。)
由于您显然不能简单地重新分配$this
,因此该布局将在某些时候被包含在内,而更让我困惑的是它们$this
在类定义之外使用的事实。
我有一段时间没有编写 PHP 代码了,所以请在这里帮助我。
我一直在研究Lithium PHP Framework,但我不明白它是如何设置的$this->context;
(尤其是在这个布局中。)
由于您显然不能简单地重新分配$this
,因此该布局将在某些时候被包含在内,而更让我困惑的是它们$this
在类定义之外使用的事实。
我有一段时间没有编写 PHP 代码了,所以请在这里帮助我。
让我印象深刻的第一个想法是这个模板页面是从一个方法中调用的。
class Viewer
{
public $html;
private $title;
private $content;
public function __construct()
{
$this->html = new \Utilities\HTMLBag();
}
public function loadView($template)
{
ob_start();
include 'path/to/views/'.$template.'.php';
$this->content = ob_get_clean();
}
public function title()
{
return $this->title;
}
}
至此,included$template
可以访问Viewer类的任意方法
很简单:通过在类的方法中调用 include/require。
文件 A.php:
<?php
class A {
public $test = 'Hello';
public function xyz() {
include 'B.php';
}
}
文件 B.php:
<html>
<body><?php echo $this->test; ?></body>
</html>