PHP 从诞生到现在已经有20多年历史,从Web时代兴起到移动互联网退潮,互联网领域各种编程语言和技术层出不穷, Node.js 、 GO 、 Python 不断地在挑战 PHP 的地位。这些技术的推动者非常热衷于唱衰 PHP , PHP 语言的未来在哪里?PHP 程序员当如何应对未来的变革。

作为老牌的Web后端编程语言,PHP 在全球市场占有率非常高,仅次于 Java ,从各个招聘网站的数据上来看PHP 开发的职位非常多,薪资水平也非常不错。实际在中小企业、互联网创业公司PHP的市场地位是高于 Java 的。Java 在超大型企业、传统软件行业、金融领域优势更大。目前来看 Node.js、 GO 、 Python 、 Ruby 等语言还难以企及PHP和Java。

PHP 语言之所以能有今天的地位,得益于PHP语言设计者一直遵从实用主义,将技术的复杂性隐藏在底层。PHP 语言入门简单,容易掌握,程序健壮性好,不容易出现像 Java 、 C++ 等其他语言那样复杂的问题,如内存泄漏和 Crash ,跟踪调试相对轻松很多。PHP 官方提供的标准库非常强大,第三方类库和工具、代码、项目也很丰富。开发者可以快速、高效地使用 PHP 编写开发各类软件。到目前为止市面上仍然没有出现比 PHP 更简单易用的编程语言。所以 PHP 的前景还是很广阔的,与其纠结于编程语言的选择,不如好好地深入学习使用 PHP 。

作为一个资深的 PHP 开发者,在技术上给各位 PHP 程序十点未来的建议,希望对大家有所帮助。

1. Composer

第一点就要提 Composer ,自从 Composer 出现后,PHP 的依赖管理可以变得非常简单。程序内依赖一些类库和框架,直接使用 Composer 引入即可,通过使用 composer update 安装依赖的包。解决了过去加载外部库的各种难题。Composer 也有国内镜像,速度非常快。现在绝大部分PHP开源的项目都提供了 Composer 的支持,建议大家在项目中使用 Composer 来解决 PHP 代码包管理的问题,不要再使用下载源码、手工 include 的原始方法。

2. PHP7

PHP7 版本对 Zend 引擎做了大量修改,大幅提升了 PHP 语言的性能,使用 PHP7 可以使你的程序性能瞬间翻倍。即使是 WordPress 这样重量级的软件运行在 PHP7 都能有上千 QPS ,相当于一台服务器每天就能处理 8000 万次请求。使用 PHP7 ,做好 MySQL 优化,使用 Memcache 和 Redis 进行加速,这套技术架构完全可以应对相当大规模的系统。除了某些亿级用户的平台之外,一般规模的系统完全没有压力。

3. PSR

PSR 是 http://www.php-fig.org/ 组织制定的PHP语言开发规范,约定了很多方面的规则,如命名空间、类名

规范、编码风格标准、Autoload、公共接口等。现在已经成为PHP技术社区事实上的标准了。很多知名的 PHP 框架和类库都遵守了 PSR 规范。PHP 开发者应当学习掌握PSR规范,在开发程序时应当尽量遵循 PSR 规范。

4. Swoole

2017 年 PHP 还局限于做 Web 网站吗?No ,如果你还不知道 Swoole ,赶快去了解一下吧。Swoole 的口号是重新定义 PHP 语言,Swoole 是一个异步并行的通信引擎,作为PHP的扩展来运行。Node.js 的异步回调

Swoole 有,Go语言的协程 Swoole 也有,这完全颠覆了对PHP的认知。使用Swoole PHP可以实现常驻内存的Server程序,可以实现TCP、UDP异步网络通信的编程开发。过去PHP只能做一个Web网站,现在使用 Swoole 可以做 Java 、C++ 才能实现的通信服务,比如 WebSocket 即使通信、聊天、推送服务器、RPC 远程调用服务、网关、代理、游戏服务器等。如果你想用 PHP 做点 Web 系统之外的东西,Swoole 是最好的选择。

5. Laravel

最近几年最火热的 PHP 框架,官网号称是为 Web 艺术家设计的框架,可见这套框架有多优雅。Laravel 提供的功能模块丰富,API 设计简洁,表达力强。而且它的社区非常活跃,代码贡献者众多,第三方的插件非常多,生态系统相当繁荣。 Laravel 底层使用了很多 symfony2 组件,通过 composer 实现了依赖管理。如果还在纠结使用什么PHP框架,不如选择 Laravel 。 Laravel 提供的命令行工具基于 symfony.console 实现,功能强大,集成了各种项目管理、自动生成代码的功能。

6. Phar

PHP5.3 之后支持了类似 Java 的 jar 包,名为 phar。用来将多个 PHP 文件打包为一个文件。这个特性使得 PHP 也可以像 Java 一样方便地实现应用程序打包和组件化。一个应用程序可以打成一个 Phar 包,直接放到

PHP-FPM 中运行。配合 Swoole ,可以在命令行下执行 php server.phar 一键启动服务器。PHP 的代码包可以用 Phar 打包成组件,放到 Swoole 的服务器容器中去加载执行。

7. C/C++/GO

任何技术有优点就有缺点,PHP 作为一门动态脚本语言,优点是开发方便效率高。缺点就是性能差。在密集运算的场景下比 C 、 C++ 相差几十倍甚至上百倍。另外 PHP 不可以直接操作底层,需要依赖扩展库来提供 API 实现。PHP 程序员可以学习一门静态编译语言作为补充实现动静互补,C/C++/Go 都是不错的选择。而且静态语言的编程体验与动态语言完全不同,学习过程可以让你得到更大的提升。

8. HTML5

作为 Web 前端新一代标准,HTML5 未来前景非常广阔,市场需求量非常大。从 PC 网站、B/S 企业软件、移动端网页、APP,这些领域都在拥抱 HTML5,掌握了 HTML5 才能在下一波互联网技术大潮中存活下来。

9. Vue.js

PHP 程序员除了写后台程序之外,还有很大一部分工作在展现层,和浏览器前端打交道。2017 年你还在用 jQuery 操作 DOM 实现界面渲染吗?已经完全 out 了。现在用 Vue.js 可以非常方便地实现数据和 DOM 元素的绑定。通过 Ajax 请求后台接口返回数据后,更新前端数据自动实现界面渲染。2017 年再不学 Vue 就晚了。

如果你不光要写 Web 程序,同时还希望兼顾 Android 、IOS 、PC 客户端等平台,React Native 是一个不错的选择。

10. 深度学习/人工智能

互联网的未来属于人工智能,如果你还不了解机器学习、深度学习、人工智能这些概念,那你需要尽快学习了解一下。现在互联网巨头们都在布局人工智能,包括 Google 、 Facebook 、微软、亚马逊 和国内的百度。虽然现在还处于科学研究的阶段,但未来互联网的各个领域都会应用到人工智能,包括自动驾驶、大数据分析、网络游戏、图像识别、语言处理等。当然现在普通的工程师可能还无法参与到人工智能产品中,但至少应该理解深度学习/人工智能的基本概念和原理。

转载于:https://www.cnblogs.com/SofuBlue/p/8324052.html

2017年PHP程序员未来路在何方——韩天峰相关推荐

  1. CSDN学霸课表——2017年PHP程序员未来路在何方

    <2017年PHP程序员未来路在何方> PHP 从诞生到现在已经有20多年历史,从Web时代兴起到移动互联网退潮,互联网领域各种编程语言和技术层出不穷, Node.js . Go . Py ...

  2. 2017年PHP程序员未来路在何方

    PHP 从诞生到现在已经有20多年历史,从Web时代兴起到移动互联网退潮,互联网领域各种编程语言和技术层出不穷, Node.js . GO . Python 不断地在挑战 PHP 的地位.这些技术的推 ...

  3. 大龄程序员 “敢问路在何方?”

    我发了一篇题为"35岁程序员的独家面试经历"的文章,结果引起了不少大龄程序员的共鸣和感慨,大家都对大龄技术人员的未来非常关心,有的迷惘,有的坚定,不一而足.因此,我准备写一篇文章专 ...

  4. 都说码农发展前景不好,那些35岁以上的大龄程序员未来之路在何方?

    我在知乎发了一篇题为"那些35岁以上的程序员后来都干嘛去了"的文章,结果引起了不少大龄程序员的共鸣和感慨,大家都对大龄技术人员的未来非常关心,有的迷惘,有的坚定,不一而足.因此,我 ...

  5. 2017年 Java 程序员,风光背后的危机

    点击上方"CSDN",选择"置顶公众号" 关键时刻,第一时间送达! 本文来自100offer微信公众号,已获作者授权转载. 不得不承认,经历过行业的飞速发展期, ...

  6. 程序员之路,蛇年快加速!

    转眼一年时间又过去了,时间如弹指间灰飞烟灭,程序员之路,却在缓慢加速... 春节,或许你没有回家,继续奋斗在开发一线上:或许你回家却被亲人朋友拷问了一把,想必清醒了许多,对未来思虑更多. 但凡春节过后 ...

  7. java发展前景选兄弟连_兄弟连:Java程序员未来应该如何发展

    兄弟连:Java程序员未来应该如何发展 2017-09-13 | 北京 | 点击59次 | 信息编号:2017913101729121697951254323 广州兄弟连教育:http://gz.it ...

  8. 作为程序员未来发展的规划

    作为程序员未来发展的规划 过去的程序员生活的总结 ​ 我入行程序员有2年多了,可能也和我25岁的年龄有关,对未来的发展充满了迷茫. ​ 之前的生活无非就是学习技术和在公司运用技术,作为一名工程师,我可 ...

  9. 回顾我的程序员之路,那些得与失,幸福与心酸

    回顾我的程序员之路,那些得与失,幸福与心酸 截止目前,我正式在这个行业一年多了(7月份毕业),感触很多,得与失,幸福与心酸,明了与迷茫.......各种情绪糅杂在一起,让一个二十一岁的小伙子硬生生的被 ...

最新文章

  1. 人工智能是否能开启人类世界新纪元?
  2. 风之语.人在职场也需要'备胎'
  3. ieee33节点系统图_【学术聚焦】考虑信息耦合的电气综合能源系统韧性优化方法...
  4. centos redhat 6+ openldap 初级介绍
  5. java 主题爬虫_主题爬虫 - 长颈鹿Giraffe - 博客园
  6. HDU 3790 最短路径问题
  7. php性能测试xhprof,PHP性能分析之Xhprof的使用
  8. python计算蛋白质的质量
  9. kafaka可视化工具
  10. 因情制宜,建立“适当”的索引
  11. redis分布式锁的 5个坑
  12. 阿里巴巴分布式服务框架HSF
  13. php架构师都会有什么面试题,PHP架构师面试题目和答案
  14. 如何区别测试计划和测试方案
  15. c语言三种结构化程序设计方法,C语言中用于结构化程序设计的三种基本结构是什么...
  16. GATK-HaplotypeCaller 变异检测详解
  17. 【大数据】城市公交网络分析与可视化(二):获取公交行驶路径并绘制散点图
  18. 树莓派改造成通用计算机,218元!树莓派电脑板成功改造完整便携式电脑(图)...
  19. Python案例1—人民币与美元的汇率兑换V_3.0
  20. 西北大环线旅游 7 天、2400 公里的所见所闻

热门文章

  1. 拓嘉启远:拼多多月卡有哪两种?如何区别
  2. Nmos驱动电路分析
  3. 天然气阶梯是按年还是按月_天然气阶梯价是按年算还是月算
  4. 安卓逆向010之实战破解内购(斗地主)
  5. 2017秋招、春招、实习生招聘区别
  6. JDK动态代理过程中报错interface ** is not visible from class loader
  7. 一个玩游戏的失足青年,转行做游戏开发到教育的挣扎过程(3)
  8. PS 羽化工具使用
  9. GitHub---团队合作
  10. 系统管理Lesson 14. Performing Database Backups