我目前正在从事一个项目,这意味着我正在处理很多日期,并且我有一个视图,用户可以在其中查看未来一周的各种事件的概述。
该视图显示多个帐户的多个事件。
我面临的问题是我的视图有一些非常复杂的 IF 语句(检查当前日期、检查事件日期、检查帐户 ID 与事件等)并且它开始看起来很混乱,我相信它可以完成更容易/更精简!
我将如何将 IF 语句移动到控制器?
我尝试查找 CI 的最佳实践,但没有发现任何有用的信息。
任何见解将不胜感激!
我目前正在从事一个项目,这意味着我正在处理很多日期,并且我有一个视图,用户可以在其中查看未来一周的各种事件的概述。
该视图显示多个帐户的多个事件。
我面临的问题是我的视图有一些非常复杂的 IF 语句(检查当前日期、检查事件日期、检查帐户 ID 与事件等)并且它开始看起来很混乱,我相信它可以完成更容易/更精简!
我将如何将 IF 语句移动到控制器?
我尝试查找 CI 的最佳实践,但没有发现任何有用的信息。
任何见解将不胜感激!
我将有一个单独的函数(在控制器或库中)用于准备数据。这个函数只需要返回一个数组,这样就可以在 HTML 中构造数据,而不需要所有的条件检查。
这是一个数据准备库的示例,它不仅可以工作,因此您需要创建一个完整的库,它只是为了给您一个总体思路。
<?php
class prepare {
function prep_page_data($page_id) {
$output = array();
$query = $this->ci->db->get_where("page_data", array("page_id" => $page_id));
foreach($query->result_array() as $row) {
$output = $row;
//complete all addtional checks below
if($row['datetime'] < date("Y-m-d 00:00:00")) {
$output['archive'] = "old"
}
else {
$output['archive'] = "new";
}
//you can add as many conditions as you like to complete the data collection.
}
return $output;
}
}
?>