PHP从诞生到现在已经有20多年的历史了。从Web时代的兴起到移动互联网的退潮,互联网领域的各种编程语言和技术层出不穷。Node.js、GO和Python正在不断挑战PHP的地位。这些技术的推广者非常热衷于唱衰PHP。PHP语言的未来在哪里?PHP程序员应该如何应对未来的变化?PHP作为一门老牌的Web后端编程语言,在全球的市场占有率非常高,仅次于Java,从各个招聘网站的数据来看,PHP开发的职位非常多,薪资水平也很高好的。事实上,PHP在中小企业和互联网创业公司的市场地位高于Java。Java在超大型企业、传统软件行业、金融领域有更大的优势。目前Node.js、GO、Python、Ruby等语言还很难赶上PHP和Java。PHP语言之所以能有今天的地位,是因为PHP语言的设计者一直奉行实用主义,将技术的复杂性隐藏在底层。PHP语言入门简单,易于掌握,具有良好的程序健壮性。不容易出现像Java、C++等其他语言的内存泄漏、Crash等复杂问题,也比较容易跟踪调试。PHP提供的官方标准库非常强大,各种功能函数都可以在官方标准库中找到,包括MySQL、Memcache、Redis、GD图形库、CURL、XML、JSON等,开发者无需再到处找图书馆麻烦。PHP的文档非常棒,每个函数都有详细的说明和使用示例。第三方库和工具、代码和项目也很丰富。开发者可以快速高效地使用PHP编写和开发各种软件。到目前为止,市场上还没有比PHP更简单易用的编程语言。因此,PHP的前景还是很广阔的。与其纠结于编程语言的选择,不如深入学习和使用PHP。作为一个资深的PHP开发者,想从技术上给大家一些PHP程序的未来建议,希望对大家有所帮助。1.Composer最后一点要提一下Composer。自从Composer的出现,PHP的依赖管理可以变得非常简单。程序依赖了一些类库和框架,可以直接使用Composer导入,使用composerupdate安装依赖包。解决了以往加载外部库的各种困难。Composer还有国内镜像,速度很快。现在大多数PHP开源项目都提供了Composer支持。推荐大家使用Composer来解决项目中PHP代码包管理的问题,不要再使用原来下载源码手动include的方式。2、PHP7PHP7版本对Zend引擎做了很多修改,大大提高了PHP语言的性能。使用PHP7可以使您的程序的性能立即翻倍。即便是WordPress这样的重量级软件,在PHP7上也能跑上千QPS,相当于一台服务器每天可以处理8000万次请求。使用PHP7,优化MySQL,使用Memcache和Redis加速。这种技术架构完全可以应对相当大规模的系统。除了一些上亿用户的平台,一般规模的系统完全没有压力。3.PSRPSR是由PHPFrameworkInteropGroup制定的PHP语言开发规范,规定了命名空间、类名规范、编码风格标准、Autoload、公共接口等诸多规则,现已成为PHP框架内的事实标准PHP技术社区。许多著名的PHP框架和类库都符合PSR规范。PHP开发者应该学会掌握PSR规范,在开发程序时应该尽量遵循PSR规范。4、2017年Swoole还仅限于制作PHP吗?不,如果你还不知道Swoole,那就去了解一下吧。Swoole的口号是重新定义PHP语言。Swoole是一个异步并行通信引擎,作为PHP的扩展运行。Node.js有异步回调Swoole,Go语言协程Swoole也有,完全颠覆了对PHP的认知。使用SwoolePHP可以实现常驻内存的服务器程序,可以实现TCP、UDP异步网络通信的编程和开发。以前PHP只能做网站,现在Swoole可以用来提供只有Java和C++才能实现的通信服务,比如WebSocket即时通信、聊天、推送服务器、RPC远程调用服务、网关、代理、游戏服务器等。如果你想用PHP做Web系统以外的东西,Swoole是最好的选择。5.Laravel是近几年最火的PHP框架。官网自称是专为网红设计的框架,由此可见该框架的优雅程度。Laravel提供了丰富的功能模块、简洁的API设计和强大的表达能力。而且它的社区非常活跃,有很多代码贡献者,有很多第三方插件,生态系统相当繁荣。Laravel底层大量使用了symfony2组件,通过composer实现依赖管理。如果你还在为使用哪个PHP框架而纠结,那么选择Laravel会更好。Laravel提供的命令行工具基于symfony.console,功能强大,集成了各种项目管理和代码自动生成功能。6、PharPHP5.3之后,支持类似Java的jar包,命名为phar。用于将多个PHP文件打包成一个文件。这个特性让PHP可以像Java一样方便的实现应用程序的打包和组件化。一个应用可以打包成Phar包,直接在PHP-FPM中运行。使用Swoole,可以在命令行执行phpserver.phar,一键启动服务器。PHP代码包可以用Phar打包成组件,放在Swoole服务器容器中加载执行。
