我将此代码编写为general_view.php:
<!doctype html>
<html>
<head>
<!-- Header section omitted -->
</head>
<body>
<main>
<?php include $view; ?>
</main>
</body>
</html>
关于此代码,我有两个问题。
谢谢!
答案 0 :(得分:1)
不,这与安全性无关,这只是一种设计模式,实际上,建议采用某种方式保持代码整洁,最重要的是DRY
(不要重复自己 >)..,然后您可以尝试在此处创建主模板,例如:view/templates/master_view.php
$this->load->view('layouts/header');
echo $body; // we will make init it in controller
$this->load->view('layouts/footer');
现在我们有了一个模板,可以像下面这样创建其部分header
和footer
:views/layouts/header.php
<!doctype html>
<html>
<head>
<!-- Header Assets -->
</head>
<body>
views/layouts/footer.php
<!-- Footer Assets -->
</body>
</html>
然后在您的控制器中,您现在可以像这样使用该主模板:
$data = array();
$data['body'] = $this->load->view('your_view_for_current_method', '', TRUE); // TRUE here to generate it as a string
// Now load the template
$this->load->view('templates/master_view', $data);
如果需要,可以将其移至MY_Controller并创建render_view
方法,然后将视图传递给它。
答案 1 :(得分:0)
否默认情况下,您不能直接在Code Igniter中访问视图,因此,如果遍历目录,则可能无法直接访问要在general_view.php中包括的任何视图的“ $ view”。如果您还没有为“ $ view”创建控制器,只需将其包含在general_view.php中,它就是完全安全的。