关于 php traits的使用

新手上路,请多包涵

问题描述

最近在做接口开发,突然有个想法是不是可以这样:
将每个接口方法封装traits,然后创建一个接口类,接口类的作用是将traits接口组合起来,组成完整接口;这样在版本更新迭代的时候只需要替换相应的traits就可以了;
这样做可行吗?或者有什么弊端吗?

阅读 1.2k
1 个回答

首先你的一个思维是很好的,就是利用traits复用代码,traits本身设计解决PHP无法多继承和代码复用

不过你上面的设计,我想到的一些问题:

  1. 如何同时存在一个服务的不同版本(难道你又维护一个不同版本的traits)
  2. 如何你的类只是继承了不同功能traits,那为什么直接用相应的基类做,要用traits来做,这个问题值得你思考
  3. traits在实际开发中,更多的是充当一些抽象的公用部分,比如一个抽象A类和抽象B类, 他们可能同时要公用一些方法或什么,你可以用traits
  4. 你提出这个问题的时候,我这边感受到的是你更多要去思考的是怎么设计类和怎么设计你的软件架构问题
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题