gpt4 book ai didi

perl - 将逻辑从 Template Toolkit 转移到 Catalyst

转载 作者:行者123 更新时间:2023-12-01 00:55:54 25 4
gpt4 key购买 nike

我认为我在 TT 模板中使用了过多的条件和计算。

我正在显示来自 DBIc 的项目的结果集。对于每个项目,我都需要使用检索到的值进行计算,而模板似乎不在正确的位置。

但在 Catalyst 中,它是一个来自 DBIc 的厚对象。

那么我怎样才能将逻辑转移到模型中呢?我必须为所有项目运行一个完整的循环并以某种方式更改对象吗?

问候:米格,

最佳答案

首先,您希望正确分离关注点,因此您走在了正确的轨道上。如果您是 6-12 个月后的维护者,您会感谢自己。

恕我直言,您的 Catalyst Controller 应该尽可能精简,并包含各种模型中的业务逻辑。这使得测试更容易,因为您不需要处理 Catalyst 的开销。我自己一直在考虑模型分离。我遇到过两种思想流派:

1) 让您的 DBIx::Class 结果类具有业务逻辑。这种方法方便简单。

2) 创建一个由 Controller 实例化的独立模型,它有一个 DBIx::Class 模式对象。该模型将使用 DBIC 模式查询数据库,然后在其自己的业务逻辑方法中使用结果数据。如果您有很多业务逻辑,这种方法可能会更好,因为您将数据库访问与业务逻辑分开了。

就个人而言,我一直使用方法 #1,但对于大型应用,我倾向于使用方法 #2。

关于perl - 将逻辑从 Template Toolkit 转移到 Catalyst,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8833528/

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