Laravel - 服务类和传递模型实例

时间:2016-03-01 19:14:22

标签: php oop laravel design-patterns

编辑:经过一番思考和实验,我想我可以简化这个问题。

我正在处理<project_dir>\build\libsModel A有几种不同Many To Many关系的应用程序。也许大约10.这意味着,有10个不同的数据透视表连接Model BModels A,具体取决于使用模型的环境。每个关系都加载了功能,因此我希望每个关系都有一个服务类。

我的问题是:什么是让这些服务相互通信并在需要时引用相同模型的最佳方式?例如:

B

上述问题是,class FirstRelationshipService { public function __construct(Model A $model, SecondRelationshipService $service2) { $this->modelA = $modelA; $this->secondRelationshipService = $service2; } public function someMethodUsingSecondRelationshipService() { $this->secondRelationshipService->getSomethingFromHere(); } } class SecondRelationshipService { public function __construct(Model A $model) { $this->modelA = $modelA; } public function getSomethingFromHere() { return $this->modelA->doSomething(); } } 有时需要SecondRelationshipService正在使用的ModelA实例。此外,我可能有十个服务类,需要类似的功能。那么我是否只是根据需要传递FirstRelationshipService实例?或者有更好的方法吗?

注意:在上面:

ModelA,反之亦然,好几次,这个关系的每个实例引用不同的数据透视表和不同的关系名称。

0 个答案:

没有答案