我有一些管理员和公共模型都使用的代码。当前,其中一些方法完全相同,但存储在管理员和公共部分的单独模型中。我创建了一个名为Common的模块,我想通过让管理员和公共模型从通用模型扩展来存储共享的代码。我只是对设置的结构感到困惑。假设我有:

Model_Post extends Model
Model_Admin_Post extends Model

结构应该像:

modules/common/classes/model/common/post.php
Model_Post extends Model_Common_Post

或者

modules/common/classes/common/model/post.php
Model_Post extends Common_Model_Post

或者

modules/common/classes/model/post/common.php
Model_Post extends Model_Post_Common

我已经看了几个模块,而且似乎有所不同,所以这实际上只是您的构造感觉吗?我注意到Auth模块,这是一个官方模块,似乎遵循第一个示例,但我不太确定。尽管您只是将模块名称上的名称贴在开始或结束时,使用第二或第三种方式似乎更容易。从长远来看,我认为最好遵循“正确”的方式以保持一致性。如果有的话,哪个是正确的?

有帮助吗?

解决方案

// modules/common/classes/model/common/post.php
Model_Common_Post extends Model {}

// ADMIN/application/classes/model/admin/post.php
Model_Admin_Post extends Model_Common_Post {}

// PUBLIC/application/classes/model/post.php
Model_Post extends Model_Common_Post {}

因此,您的公共和管理模型应放在其应用程序中,而通用文件(common_post模型)都在公共模块中。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top