Kohana 3扩展模块模型文件结构
-
12-10-2019 - |
题
我有一些管理员和公共模型都使用的代码。当前,其中一些方法完全相同,但存储在管理员和公共部分的单独模型中。我创建了一个名为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模型)都在公共模块中。
不隶属于 StackOverflow