我有一些管理员和公共模型使用的代码。目前,一些方法完全相同,但存储在管理员和公共部分的单独模型中。我创建了一个名为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模块,这是一个官方模块似乎遵循第一个例子,但我不太确定。虽然使用第二种或第三种方式似乎更容易,因为您只需将模块名称添加到开头或结尾。从长远来看,我认为最好采用“正确”的方式来保持一致性。如果有的话,哪一个是正确的?
答案 0 :(得分: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模型)是共同的模块。