我目前正在开展一个项目,这意味着我正在处理大量的日期,我有一个视图,用户可以在下一周查看各种事件的概述。
该视图显示多个帐户的多个事件。
我面临的问题是我的视图有一些非常复杂的IF语句(检查当前日期,检查事件日期,检查事件的帐户ID等)并且它开始看起来很乱,我确定它可以更简单/更简化!
我如何将IF语句移动到控制器?
我尝试查找CI的最佳做法但没有任何用处。
任何见解都会受到高度赞赏!
答案 0 :(得分:1)
我将有一个单独的功能(在控制器或库中)用于准备数据。这个函数只需返回一个数组,这样就可以在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;
}
}
?>