欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

Yii2 两个模块(module)间的数据需要相互调用,如何设计才能最大程度降低耦合性?

程序员文章站 2022-04-18 14:13:17
...
有A,B两个模块,A模块数据库中内容修改要使B模块的数据跟着一起修改,A模块还可以读取B模块的一些数据。

该如何设计才能最大程度降低模块间的耦合性?

回复内容:

有A,B两个模块,A模块数据库中内容修改要使B模块的数据跟着一起修改,A模块还可以读取B模块的一些数据。

该如何设计才能最大程度降低模块间的耦合性?

把Customer当成A,Order当成B,这个例子中就修改了B中的值。
$customer = Customer::findOne(123);
$order = new Order();
$order->subtotal = 100;
// ...

// setting the attribute that defines the "customer" relation in Order
$order->customer_id = $customer->id;
$order->save();

新增一个services层用来处理业务逻辑。
就不会出现你这个跨模块调用的问题了。因为services层跟模块无关。

相关标签: yii2 php