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
在我的应用程序中,我有 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