gpt4 book ai didi

php - CodeIgniter:特定功能应该放在哪里?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:46:02 24 4
gpt4 key购买 nike

以下是大多数应用程序中 Controller 功能的快速概述:

  • Controller 加载特定模型、从中获取数据、格式化数据并将格式化后的数据传递给 View 。

现在有一个搜索页面,需要对整个数据库(所有模型)进行搜索查询。它需要将每种类型的数据以其特定格式的输出显示在单个页面上作为列表。

问题:

搜索 Controller 可以进行搜索,为每个记录类型动态加载模型,并从模型中获取数据。当需要格式化数据时,问题就来了。我正在尝试从搜索 Controller 加载特定 Controller ,这导致了问题。

怎么办?

PS:我尝试使用“Wick”库,但是当 Controller 的格式函数尝试使用它自己的模型和 session 对象时它失败了,给出了关于调用非对象成员的错误。

最佳答案

经过多次重构和反复试验,看来实现上述目标的最佳方法是这样的:

  1. 在派生所有其他 Controller 的基本 Controller 中保留格式函数。格式选项作为参数与数据对象一起传递给函数。

  2. 在每个派生 Controller 中创建一个静态函数,该函数返回数据的格式化选项。

  3. 在搜索 Controller (它本身派生自基础 Controller )内,对于每个数据对象,调用其特定 Controller 的静态函数,该函数返回数据格式化选项,然后使用它为对象格式化对象查看。

我想我可以说我会坚持只将模型用于与数据库的交互,而让 Controller 完成其他所有事情。如果有人还有更好的解决方案,我会洗耳恭听。

关于php - CodeIgniter:特定功能应该放在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2652089/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com