当前位置: 首页 > 后端技术 > PHP

PHP&Swoole与Java、Go等技术选型及解答

时间:2023-03-29 17:45:01 PHP

SwooleVIP群成员的一个问题感觉Swoole越来越复杂了。虽然功能变强了,可惜不能在项目组里推。而且协程之后还有很多需要注意的地方。一不留神,可能会忘记回收连接,有连接混乱的风险(当然有defer之类的可以避免)。学PHP的基本都是半路出家,或者培训机构的居多,不招进来,项目做不完,招进来,都是路过的学习人物。稍微高端一点的功能都难推,他们会反问,花时间看这个,为什么不学go呢?毕竟go是正式版自带的,所以我们新项目(国内领先的电商公司)基本都是用java的,不知道说什么好。..会用PHP,只做简单的crudRango,真的是太过分了。Swoole4的答案现在越来越简单了,现在的协程比之前的异步回调更容易使用。应该使用社区成熟的框架,比如Hyperf、Swoft、EasySwoole、MixPHP。直接基于Swoole开发容易出错,对开发人员的素质要求更高。基于框架开发应用,无论是Swoole、Java还是Go,对于用户来说都是一样的难度。大多数Java和Go工程师其实都是用别人写的框架,所以简单。自己写一个多线程的Java框架是非常困难的,类似于Spring。不仅仅是PHP工程师在做CRUD,大部分做Java和Go的程序员也在做CRUD的工作。这没有什么区别。最重要的是提高对整个技术栈的理解深度和驾驭技术的能力。Swoole4的协程和Go完全一样,但是PHP语言更加简单易用。Go是一种强类型静态语言,没有泛型支持,不完全面向对象。更适合做底层软件的开发,各种组件的生态没有PHP丰富。如果你从事服务端应用开发,使用Go的效率远不如PHP编码、工程实践、抽象、业务理解、服务治理(包括性能、稳定性、健壮性、可用性、可扩展性)、架构设计,这些方面能力不管是什么语言,编程语言对于一个优秀的工程师来说只是一个得心应手的工具。掌握两种相同的技能,比如用PHP、Go、Java开发服务器后台程序的技能,几乎是同质化的,其实是没有意义的,浪费时间。PHP有很多优点,可以让工程师省去学习语言技术栈的时间。掌握整个PHP技术栈只需要2-3年的时间。其他语言虽然功能更强大,但需要程序员花更多时间学习语言API、运行原理、各种类库和工具。达到精通水平需要3-6年。因为PHP工程师更容易掌握这项技术,他们可以将宝贵的时间投入到更高层次的工作中。PHP-FPM的健壮性是有目共睹的,堪称工业级技术。而且Swoole现在越来越成熟,健壮性越来越高。Swoole是帮助PHP工程师超越PHP-FPM的web编程的扩展,PHP工程师可以获得更大的操作空间。而不是花时间重新学习一门新的编程语言技术栈,通常需要几年的时间才能完成,而学习和掌握Swoole一般需要3-5个月的时间。毕竟Swoole其实属于PHP技术栈的范畴。一个工程师好不好,很大程度上取决于他的技术思维深度和持续学习能力。很多人说自己非计算机专业,半路出家,学历不高。我觉得这不是问题,以上也不妨碍大家学习和思考。大部分人都没有达到争才的阶段。我一直相信一万小时理论。如果你能坚持专注于技术,进行大量的工程实践,日积月累,你很有可能成为这个领域的专家。Swoole微课