Yii模块从父模块继承

时间:2014-07-11 10:03:00

标签: php yii yii-components yii-modules

我在Yii 1中有一个有3个模块的网站:

  • 管理员
  • SITE1
    • 站点2

site2模块是site1的父模块。这两个模块非常相似(有些控制器是相同的)。

我想将我的网站重新组织为父模块(它包含公共视图和控制器。模型是相同的。)

这方面的最佳做法是什么?

1 个答案:

答案 0 :(得分:0)

这可以有很多解决方案。以下是你可以从哪里开始:

  1. 你可以有一些共同的地方,你将保留共享代码。在这种情况下,我们可以将该目录称为“common”。在这个“通用”目录中,您可以根据功能组织共享代码 - 行为,模型,组件,操作,小部件,事件甚至视图(但如果您需要更多视图,我不喜欢分享视图放置它通常很好,为它制作小部件)。你可以从应用程序配置中导入它。
  2. 如果你将你的控制器分解为动作类,并且通过将它们连接到控制器来共享控制器之间的操作,它通常更干净,更可配置(这个例子就是默认yii应用程序中的Catpcha动作)。通过这种方式,如果您不需要,可以在某些控制器中排除操作,或者如果您需要,可以混合使用不同的操作集。
  3. 关于共享视图文件,即使你可以通过提供从任何地方查看文件的完整路径来完成它,如果需要从更多控制器调用一个视图,我更喜欢使用小部件。如果你从一个控制器调用更多地方的一个视图,你可以使用renderPartial(),而不是将你的视图包含到其他视图中,但如果你需要从更多控制器调用它而不是从组织和功能视图调用它,那么使用它更好。 / LI>