2

我知道插件使用的表的命名约定通常以插件名称开头,然后是复数模型。例如,假设我有一个名为 Poll 的插件,还有一个名为 PollPoll 的模型和另一个名为 PollTag 的模型,那么生成的表名将是 poll_polls 和 poll_tags。他们也将有一个 habtm 关系,那么该表名的约定是什么?我相信它会 poll_poll_polls_poll_tags,虽然有点多余,但它是有道理的,因为第一个 poll_ 代表插件的名称,而 poll_polls 和 poll_tags 与模型相关。

1.3 中插件的命名约定是否也发生了变化?上述说法正确吗?

4

2 回答 2

2

不确定 cake 1.3(我还没有使用它),但是如果你是对的,这听起来像是一个完全可以接受的案例,它打破了约定并在模型关系中以及可能在插件中定义了可连接和外键。

为什么您的插件需要连接表?好像是设计问题。也许在某些情况下需要这样做,但如果我与插件有 HABTM 关系,我会modelname在插件表中添加一列,而不是为我想使用插件的每个模型创建一个新表。

于 2010-01-11T23:36:01.187 回答
0

“插件使用的表格通常以插件名称开头,然后是复数形式的模型”实际上还不是一个约定。

唯一介绍这个想法的地方是书中的一个例子,它实际上说,“建议你为你的插件控制器命名一些相对独特的名字,以避免与父应用程序的命名空间冲突......你可能想要有创意使用控制器名称,或将插件名称添加到类名中。”

您的 Table/Model/Controller/View 名称必须遵循正常的 CakePHP 命名约定,并采取合理的预防措施以避免命名空间冲突。因此,在插件栏中为“foo_order”模型创建一个“foo_orders”表是非常好的。

于 2010-11-23T10:38:49.003 回答