我正在使用 CodeIgniter 在 PHP 中创建一个日历应用程序。在主日历页面中,我的模型当前创建一个数组,每个索引都是当月的某一天。那一天是一个数组,包含用户在这一天可能发生的任何事件。现在,我应该首先在控制器中构建日历数组,然后将其传递给模型,以便模型可以访问数据库并填写所有事件,还是应该创建日历数组并填写模型中的所有事件?
$month = array( 'blank', 'blank', 'day1' => array( event 1, event2), 'day2' => ... );
这是一个很难的问题,我不确定每个人都会这样做......但这是我认为应该考虑的问题:
getData
”,它应该只返回包含“真实”数据的数组,而不是包含“空”天的数组;另一方面,如果它被称为“getEventsByDay
”,那么让它每天返回一些东西是有意义的,即使是空的$model->save($model->load())
这样的东西应该有用,我的意思是最终,没有“好的答案”:“这取决于”^^
我真的不知道在你的情况下我会做什么;我想这有点取决于应用程序的其余部分......我会问自己的问题是“空的一天的概念对我的模型有意义吗,还是只是一个演示问题?”
我可能会将其设计为“双向”。模型的输出应该是标准化数组,可能类似于:
array('2009-08-05' => array('event' => ..., ...), '2009-08-06' => array(...));
即只是纯粹的数据。
默认情况下,它可以输出当前月份,或从现在到 +1 个月之间的所有内容。不过,它也应该需要一个参数来改变默认行为。采用日期数组或范围。
我不知道为什么你的例子中的前两个条目是“空白”。如果您的数组已经代表日历表上显示的一个月,那么这将违背 MVC。此类呈现问题应在视图中考虑。