Yii2 模块模型

Yii2 Models for Modules

在我的应用程序中,我有 app/models 中的所有模型。现在我在 app/modules/admin 中创建了模块。我应该使用 app/models 形式的模型还是在 app/modules/admin/models 中创建新模型?

最佳做法是什么?

您应该在 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