【发布时间】:2009-11-25 20:56:53
【问题描述】:
通过环顾和研究现有框架,我学到了很多关于 MVC 框架如何工作的知识。似乎我看到的每个框架都有一个布局,每个控制器中的每个方法都有自己的模板文件。所以会有登录模板、注销模板、注册等等。
我的问题是,您如何以及为什么要在一个文件中为整个页面创建一个模板。假设您想在多个页面上显示登录表单,您是否不必为要显示的每个模板创建登录表单?这不违反不要重复自己的规则(DRY)吗?
到目前为止,我一直在做的事情是创建小块模板,然后将它们组合起来创建每个页面。所以与其做这样的事情,
$title = 'Blah Blah Blah';
$user = 'Jon Miller';
include 'index.phtml';
<html>
<head>
<title><?php echo $title; ?></title>
</head>
<body>
<h3><?php echo $user; ?></h3>
<form>login form</form>
</body>
</html>
我一直在这样做
$title = 'Blah Blah Blah';
include 'header.phtml';
$user = 'Jon Miller';
include 'user.phtml';
include 'login_form.phtml';
include 'footer.phtml';
header.phtml
<html>
<head>
<title><?php echo $title; ?></title>
</head>
<body>
user.phtml
<h3><?php echo $user; ?></h3>
login_form.phtml
<form>login form</form>
footer.phtml
</body>
</html>
和往常一样,我只想知道正确的方法,以及如何以及为什么......这似乎违反了 DRY 规则。
谢谢
【问题讨论】: