使用代码点火器,如何处理众多控制器/视图所需的方法


Using codeigniter, how to handle a method that's needed by numerous controllers/views?

假设我有一个下拉列表,它从数据库表中获取其值。为了论证,让我们保持简单并使用颜色。我需要显示来自不同控制器的一堆视图的下拉列表。我读过几篇博客文章,其中人们使用"帮助程序",而其他人则初始化控制器的方法。如果是这样的"通用"查询,那么将此方法代码放在哪里,以便其他控制器/视图可以访问它?

把它放在模型中,如果你经常需要它,可以自动加载它。 如果已经有一个模型适合它,请把它放在那里。 否则,创建新模型以满足您的需求并没有错。 只需尝试以符合您需求的逻辑方式组织事物,以便以后轻松跟踪方法。

我认为这个答案一针见血:

我要做的是在我的模型中创建一个函数,比如 $model->dropdown_options() 并使用它来从数据库中获取行并将它们放入数组中。

然后使用表单帮助程序生成下拉列表。