2010-12-21 79 views
0

我有一些由管理员和公共模型使用的代码。目前有些方法完全相同,但存储在admin和public部分的单独模型中。我创建了一个名为common的模块,并且我想通过让管理员和公共模型从通用模型扩展来存储共享代码段。我只是对结构感到困惑而已。假设我有:Kohana 3扩展模块模型文件结构

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模块,这是一个官方模块似乎遵循第一个例子,但我不太确定。尽管使用第二种或第三种方法似乎更容易,因为您只需将模块名称添加到开头或结尾。从长远来看,我认为按照“正确”的方式来保持一致性会更好。哪些是正确的,如果有的话?

回答

0
// 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模型)是常见的模块中。