【问题标题】:Kohana 3 Extending Module Model File StructureKohana 3 扩展模块模型文件结构
【发布时间】:2010-12-21 23:14:58
【问题描述】:

我有一些代码供管理员和公共模型使用。目前有些方法是完全一样的,但是分别存储在 admin 和 public 部分的不同模型中。我创建了一个名为 common 的模块,我想通过让 admin 和 public 模型从 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 模块,这是一个官方模块,似乎遵循第一个示例,但我不太确定。尽管使用第二种或第三种方式似乎更容易,因为您只需将模块名称添加到开头或结尾即可。从长远来看,我认为最好遵循“正确”的方式来保持一致性。如果有的话,哪一个是正确的?

【问题讨论】:

    标签: module model kohana-3 extending file-structure


    【解决方案1】:
    // 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 模型)在公共模块中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-20
      • 1970-01-01
      • 2012-04-15
      • 2018-07-20
      • 1970-01-01
      • 1970-01-01
      • 2012-01-26
      • 1970-01-01
      相关资源
      最近更新 更多