2017年PHP程序员的未来在哪里?它正在挑战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是由http://www.php-fig.org/制定的PHP语言开发规范,规定了很多规则,比如命名空间、类名规范、编码风格标准、Autoload、公共接口等。它有现在成为PHP技术社区事实上的标准。许多著名的PHP框架和库都符合PSR规范。PHP开发者应该学会掌握PSR规范,在开发程序时尽量遵循PSR规范。4、PHP在Swoole2017中是否还仅限于网站?不,如果你还不知道Swoole,那就去了解一下吧。Swoole的口号是重新定义PHP语言。Swoole是一个异步并行通信引擎,作为PHP的扩展运行。Node.js的异步回调Swoole有,Go语言的协程Swoole也有,完全颠覆了对PHP的认知。使用SwoolePHP可以实现常驻内存的服务器程序,可以实现TCP、UDP异步网络通信的编程开发。以前PHP只能用作网站,现在Swoole可以用于WebSocket即时通讯、聊天、推送服务器、RPC远程调用服务、网关等只有Java和C++才能实现的通信服务、代理、游戏服务器等。如果你想用PHP做Web系统以外的东西,Swoole是最好的选择。5.Laravel是近几年最火的PHP框架。官网自称是为Web艺术家设计的框架,由此可见该框架的优雅程度。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服务器容器中加载执行。7、C/C++/GO任何一种技术都有优缺点。PHP作为一种动态脚本语言,具有开发方便、效率高的优点。缺点是性能较差。在密集计算场景下比C、C++差几十倍甚至上百倍。另外PHP不能直接操作底层,需要依赖扩展库提供API实现。PHP程序员可以学习一门静态编译语言作为补充,实现动静互补。C/C++/Go都是不错的选择。而且,静态语言的编程体验与动态语言完全不同,学习的过程能让你得到更大的提升。掌握C/C++语言后,还可以阅读PHP、Swoole、Nginx、Redis、Linux内核等开源软件的源代码,了解其底层运行原理。现在最新版本的Swoole提供了对C++扩展模块的支持,封装了ZendAPI,用C++操作PHP变得非常简单,PHP扩展函数和类都可以用C++实现。8.HTML5是网络前端的新一代标准。HTML5前景广阔,市场需求巨大。从PC网站、B/S企业软件、移动网页、APP,这些领域都在拥抱HTML5。只有掌握了HTML5,才能在下一波互联网技术浪潮中生存下来。9、Vue.jsPHP程序员除了写后台程序,还有很大一部分工作在表现层,与浏览器前端打交道。2017年你还在使用jQuery操作DOM进行界面渲染吗?完全没戏了。现在可以使用Vue.js轻松实现数据与DOM元素的绑定。后台界面通过Ajax请求返回数据后,更新前端数据,自动实现界面渲染。2017年再不学Vue就来不及了。如果你不仅想写web程序,还想兼顾Android、IOS、PC客户端等平台,ReactNative是个不错的选择。10、深度学习/人工智能互联网的未来属于人工智能。如果你对机器学习、深度学习、人工智能的概念还不了解,那么你需要尽快学习。现在互联网巨头都在布局人工智能,包括谷歌、Facebook、微软、亚马逊和国内的百度。虽然现在还处于科学研究阶段,但是未来人工智能将会应用到互联网的各个领域,包括自动驾驶、大数据分析、网络游戏、图像识别、语言处理等等。当然,普通的工程师不一定能参与人工智能产品,但至少应该了解深度学习/人工智能的基本概念和原理。
