大家讨论下 PHP 实际一般的项目需不需要 AOP 的方式来实现

最近在看AOP的东西,虽然简化了一些代码,减少代码功能的耦合。

  1. 但还是一样的要动代码,一般都是在注释里面写的,如果是这种,干嘛不直接写在方法。
  2. 可能有人会说,AOP,有before,after等等,但是实际情况下,这些东西在具体的业务场所并不常。
  3. 偶尔会用一下,直接写一个静态类的方法,或是写一个基类,就完全解决了。
  4. 而且PHP是脚本语言,如果是PHP-FPM的方式就可以直接用,没必要。
  5. 当然如果你是用的swoole这种长驻进程的方式,另外再说
aop
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 6

大部分的项目都很小,不需要使用这种东西,只会给简单的系统增加复杂性。就像谁会在小项目里使用设计模式一样,可能最多在某个容易变动的地方埋个扩展点。但是项目大的,代码的质量就提现出来了。AOP主要好处我觉得在于 降低模块的耦合度,系统更易扩展,更好的代码复用。比如面向对象中的开闭原则,按照你上面说的的 当需求改动的时候,你就需要侵入式的修改代码。没什么的,能跑起来的程序就是好程序,傻瓜都能看懂的代码就是好代码。不能产生实际价值的代码写的再漂亮有啥意义。 :joy:

3年前 评论

中间件也可以理解为AOP,但还是没有AOP来的全面。 最近的框架HR SWOFT等等,把JAVA的AOP引入,在一般的项目中完全用不到。 当然我们讨论的一切前提是一般的普通的项目,不包含那种日活上千万,上亿的项目。【因为大公司都是有自己的框架,开发规范,基本不太会使用外面的开源的框架。】

而且这个东西对于新手,或是经验不足的小团队,反正增加很多的学习的成本,特别改变别人的CODING习惯。

3年前 评论

至今未发现AOP的应用场景

3年前 评论
fatrbaby

php没有真正编译环节的加持,很难实现可用的AOP。但我觉得middleware的设计还更小巧精妙一点,不过唯一的缺点就是他的适用范围比AOP小很多。

3年前 评论

@fatrbaby 中间件,不就是AOP 思想的体现吗

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!