在Laravel中创建通用控制器时如何保持DRY?

时间:2019-03-15 18:03:37

标签: php laravel oop dry

在使用Laravel应用程序时,我注意到我正在创建非常相似的控制器方法。例如,我有以下模型:任务,块,课程等。每个控制器中都有非常相似的方法:

insert into Signatures (ImageFile)
values (CAST('0x89504E470D0A....' AS VARBINARY(MAX)));

也许我可以使用这些方法扩展Controller类并将参数作为受保护的属性传递,但是我不确定如何做到这一点。

请帮助。

1 个答案:

答案 0 :(得分:0)

您正在寻找的被称为模板方法。您可以从控制器中为每种方法执行此操作:)

更多信息:

https://refactoring.guru/design-patterns/template-method/php/example https://designpatternsphp.readthedocs.io/en/latest/Behavioral/TemplateMethod/README.html