MIg*_*ele 3 perl catalyst template-toolkit dbix-class
我认为我在TT模板中使用了太多的条件和计算.
我正在显示DBIc中的项目结果集.对于每个项目,我需要使用检索到的值来计算事物,并且模板似乎不是正确的位置.
但在Catalyst中,它是一个来自DBIc的厚对象.
那么如何将逻辑移到模型中呢?我必须为所有项目运行一个完整的循环并以某种方式更改对象吗?
问候:Migue,
首先,您希望正确分离问题,从而走上正轨.如果你是6-12个月的维护者,你会感谢你自己.
恕我直言,您的Catalyst控制器应该尽可能地使用各种模型中的业务逻辑.这使得测试更容易,因为您没有处理Catalyst的开销.我自己一直在考虑模型分离.我遇到过两种思想流派:
1)使您的DBIx :: Class Result类具有业务逻辑.这种方法简单方便.
2)创建一个由Controller实例化的独立模型,它具有DBIx :: Class模式对象.该模型将使用DBIC模式来查询数据库,然后在自己的业务逻辑方法中使用结果数据.如果您拥有大量业务逻辑,那么这种方法可能会更好,因为您将数据库访问与业务逻辑分开.
就个人而言,我历史上曾使用#1方法,但我倾向于#2更大的应用程序.