我正在尝试使用下面的函数设置标题,然后调用另一个函数,以便我可以渲染视图,但在我看不到标题之后。这是我的代码:
来自其他文件的片段:
&
这是我的观点类:
$indexPage = new View();
$indexPage->setPageTitle('This is the title');
$indexPage->render('index');
然后我会在我的页面上访问它:
的index.php:
class View {
private $title;
public function render($file) {
require '/view/header.php';
require '/view/'.$file.'.php';
require '/view/footer.php';
}
public function setPageTitle($title) {
$this->title = $title;
}
}
但它没有显示。
答案 0 :(得分:1)
是的,它不会显示。如果您在代码snipet中提到的<?php echo $indexPage->title ?>
中创建了View对象,那么您调用public WordCount traverse(WordCount root) {
current = root;
if (current.getCount() > max) {
var = current;
max = var.getCount();
}
else if (current.getLeftChild() != null) {
next = current.getLeftChild();
traverse(next);
} else if (current.getRightChild() != null) {
next = current.getRightChild();
traverse(next);
}
return var;
}
否则当您渲染视图模板时,您必须像大多数MVC一样传递数据。
注意:如果要直接访问它,请将title变量设为public,否则编写另一个公共函数并返回私有成员。
答案 1 :(得分:0)
尝试<?php echo $indexPage->title ?>
并将private $title;
更改为public $title;
。
私有变量无法在其所在的类之外访问。