代码我身边有一个MVC模式构建的应用程序。 的看法是PHP的,但大多是用最少的PHP代码嵌入HTML,这样的东西 -分离布局模板
Welcome <?php echo $USERNAME ?>
和
<table>
<?php foreach ($USERS as $row) : ?>
<tr><td><?php echo $row->name ?><td><?php echo $row->address ?></tr>
<?php endforeach ?>
我只希望在这个文件中显示的布局逻辑,我想保持简单!
这对我来说真的很不合适,但我在某些方面挣扎着。 例如看看表在上面的代码和想象,每列(姓名和地址)的标题 NameAddress
现在想象一下,我想要的列排序。所以我把它做成这样 -
<tr><th><a href="?sort=name">Name</a><td><a href="?sort=addr">
但是这不够好。我的视图需要查看正在排序的列,并添加向上或向下箭头。如果该列已被排序,那么它需要将当前排序的列的链接更改为?sort = name_reverse,以便点击它以其他方式对其进行排序。 这有点太复杂了,现在在我的模板写的漂亮整洁的代码...
所以我可以让我的控制器创建一个包含变量 -
<tr><th><?php echo $HEADING[0] ?><th><?php $HEADING[1] ?>
等。但这意味着我的控制器是现在生成实际的HTML,这实际上是页面模板的责任。它以某种不同的方式消除了模板格式化页面的能力......并且感觉不对。
但我怎么能与这个最划算,在那里我觉得我需要我的页面控制器是包含HTML生成变量...
有什么建议?
我喜欢这个。 像sortlink这样的东西可以让“设计师”转换数据而不会让他们编写复杂的代码。原始数据仍然存在,因此它不会像强制变量中提供HTML那样强制某种特定风格 – jcoder 2011-01-12 14:37:24