相关疑难解决方法(0)

将代码与模板中的布局分开

我有一个围绕MVC模式构建的应用程序.视图是PHP,但主要是嵌入了最小PHP代码的html,像这样的东西 -

Welcome <?php echo $USERNAME ?>
Run Code Online (Sandbox Code Playgroud)

<table>
<?php foreach ($USERS as $row) : ?>
<tr><td><?php echo $row->name ?><td><?php echo $row->address ?></tr>
<?php endforeach ?>
Run Code Online (Sandbox Code Playgroud)

我只想在这个文件中显示布局逻辑,我想保持简单!

这对我来说真的很有用,但是我在某些方面遇到了困难.例如,查看上面代码中的表,并想象每个列(名称和地址)都有一个标题NameAddress

现在想象一下我想让列可以排序.所以我做了类似的事情 -

<tr><th><a href="?sort=name">Name</a><td><a href="?sort=addr">
Run Code Online (Sandbox Code Playgroud)

但这还不够好.我的视图需要查看正在排序的列,并添加向上或向下箭头.如果该列已经被排序,它需要将当前排序列的链接更改为?sort = name_reverse,以便单击它以另一种方式对其进行排序.现在在我的模板中编写漂亮的整洁代码有点太复杂了......

所以我可以让我的控制器创建包含的变量 -

<tr><th><?php echo $HEADING[0] ?><th><?php $HEADING[1] ?> 
Run Code Online (Sandbox Code Playgroud)

但这意味着我的控制器现在正在生成实际的HTML,这实际上是页面模板的责任.它消除了模板以某种不同方式格式化页面的能力......而且感觉不对.

但是我怎么能最好地处理这个问题,我觉得我需要我的页面控制器生成包含HTML的变量...

有什么建议?

php model-view-controller

11
推荐指数
1
解决办法
442
查看次数

基于轻量级PHP5的模板类/系统

考虑将模板系统用于新项目,它只是一个小型站点,不想使用smarty的开销和"复杂性".我真的不喜欢模板系统迫使你使用另一种语言只是为了让设计师更容易(显然).

像这样的东西 http://www.namepros.com/code/517342-php5-template-class.html 是我正在看的东西,但有点更强大和证明.

php templates

9
推荐指数
3
解决办法
5651
查看次数

标签 统计

php ×2

model-view-controller ×1

templates ×1