如何正确扩展模块? 情况是,我有一个带有subModule和subSubModule的模块。
安排如下。
- models
- jakarta
- admin
- BillOfLading
- surabaya
- admin
- BillOfLading
- modules
- branch ( Parent Module )
- controllers
- DefaultController
- models
- views
- jakarta( Sub Module )
- controllers
- models
- views
- admin ( Sub Sub Module)
- controllers
- BillOfLadingController
- models
- BillOfLadingSearch
- views
- bill-of-lading
- surabaya( Sub Module )
- controllers
- models
- views
- admin ( Sub Sub Module)
- controllers
- BillOfLadingController
- models
- BillOfLadingSearch
- views
- bill-of-lading
所有都是通过gii生成的。 基本上,两个子模块(即雅加达和泗水)中的BillOfLadingControlller都是相同的, 数据库中只有不同的表。
如果jakarta子模块中的db_jakarta /提单中, 在泗水子模块中,它在db_surabaya /提单中
对于子模块Jakarta中的BillOfLadingController,
namespace app\modules\branch\jakarta\admin\controllers;
use app\models\jakarta\admin\BillOfLading;
use app\modules\jakarta\admin\models\BillOfLadingSearch;
use yii\filters\VerbFilter;
use yii\helpers\ArrayHelper;
use yii\web\Controller;
class BillOfLadingController extends Controller{
// Some code generate By gii
// action Create, Delete, Update, View
}\\
对于泗水子模块中的BillOfLadingController,
namespace app\modules\branch\surabaya\admin\controllers;
use app\models\surabaya\admin\BillOfLading;
use app\modules\surabaya\admin\models\BillOfLadingSearch;
use yii\filters\VerbFilter;
use yii\helpers\ArrayHelper;
use yii\web\Controller;
class BillOfLadingController extends Controller{
// Some code generate By gii
// action Create, Delete, Update, View
}
有没有更好的方式使用特征,接口或扩展。 因此,无需定义每个BillOLadingController类。
我认为父模块分支中有一个ParentBillOfLadingController基类, 然后每个子模块上的每个BillOfLadingController都从ParentBillOfLadingController扩展。
因此,如果ParentBillOfLadingController更改了业务流程,则所有子项也会更改。 如何执行呢?
我们感谢您的所有答复。 谢谢