在我的应用程序中,我在app/models
中拥有所有模型。现在我在app/modules/admin
创建了模块。我应该使用app/models
形式的模型还是在app/modules/admin/models
中创建新模型?
最佳做法是什么?
答案 0 :(得分:2)
您应该在app/modules/admin/models
中创建特定于管理模块的模型,并在app/models
中为整个应用程序创建通用模型。
如果您需要具有特定行为,可以在新模块中扩展现有模型。
在app/models
:
namespace app\models;
class Post extends \yii\db\ActiveRecord
{
}
在app/modules/admin/models
:
namespace app\modules\admin\models;
class Post extends \app\models\Post
{
}
因此,您可以在模块之间共享业务逻辑。
另请查看Yii 2 Advanced Project Template。有三个models
目录:
backend/models
frontend/models
common/models