我有一个简单的控制器文件 StudentController.php
<?php
$data = array();
$data["firstName"] = $_GET["firstName"];
loadView("StudentView.php", $data);
?>
我有一个更简单的视图文件,名为 StudentView.php
<?php
echo $firstName;
?>
我完全不知道如何实现loadView($view, $data)
功能。我希望控制器中的$data
变量在视图中可用(来自控制器的$data["foo"]
变为$foo
视图)
我希望实现CodeIgniter中很容易实现的功能,但我不知道它是如何实现的。我试着在源文件中查看Controller.php和Loader.php,但这对我来说太麻烦了。
我不想使用CodeIgniter或任何其他框架,我想在PHP中原生地做。
答案 0 :(得分:1)
如果您打算建立一个大众网站供公众使用,框架通常是一个好主意,原因有多种:
然而,这个问题与框架没有任何关系,所以我会用一个非常简单的函数回答你问的问题:
function loadView($view, $data) {
extract($data);
ob_start();
require_once $view;
$contents = ob_get_contents();
ob_end_clean();
return $contents;
}
您可以选择退回内容或直接打印,但该功能应该可以满足您的需要。我不保证这段代码的安全性,我显然没有做错误检查。但它应该成为帮助你开始的良好基础。