【发布时间】:2009-12-09 01:05:44
【问题描述】:
我正在将我的网站从一些旧的意大利面条式编码升级为一些漂亮、干净的自定义 MVC 结构(并在此过程中享受有趣的学习)。
在显示博客列表的页面上,我有一个函数可以帮助我为 a 链接动态构建 HREF - 通过 $_GET 跟踪应用的过滤器......很难解释......但这里是:
/* APPLY BROWSE CONTROLS / FILTERS
| this function reads current $_GET values for controlling the feed filters,
| and replaces the $value with the desired new $value
*/
function browse_controls($key,$value=null,$ret='url') {
// find current control settings
$browse_controls = array();
if(array_key_exists('browse',$_GET)) { $browse_controls['browse'] = $_GET['browse']; }
if(array_key_exists('display',$_GET)) { $browse_controls['display'] = $_GET['display']; }
if(array_key_exists('q',$_GET)) { $browse_controls['q'] = $_GET['q']; }
// replace desired setting
if($value) {
$browse_controls[$key] = $value;
}else{
unset($browse_controls[$key]);
}
// build url
$url = ABS_DOMAIN . 'sale/';
if(!empty($_GET['cat'])) { $url .= $_GET['cat'] . '/';}
if(!empty($_GET['sub'])) { $url .= $_GET['sub'] . '/';}
$url .= '?' . http_build_query($browse_controls);
return $url;
}
我可以简单地调用这个查询:
<a href='<?php echo browse_controls('browse',$prev_page); ?>' class="crumb">Previous Page</a>
如何使用 MVC 结构以及完全分离表示和逻辑来实现相同的目标。我的模板中是否允许使用函数?
救命!
【问题讨论】:
标签: php model-view-controller templates