PHP 为何是最好的语言?你肯定听过这个段子:
女子:“你能让这个论坛的人都吵起来, 我今晚就跟你走。”
程序员: “PHP是最好的语言!”
论坛炸锅了, 各样吵架…
女子:“ 服了你了, 咱们走吧你想干啥都行。”
程序员: “今天不行, 我必定要说服她们, HP必须是最好的语言。”
上面虽然是程序员的玩笑梗,但“PHP 是最好的语言” 这句话最早可能出自 2001 年 7 月的 PHP 官方文档。
PHP is the best languages for web programming , but what about other languages ?
PHP 是最好的网络编程语言,那样其他语言呢?
—— PHP and other languages
抛开玩笑梗,认真来讲,PHP 的确叫作得上最好的语言之一。
首要,PHP 入门简单,容易把握,对新手友好,况且程序健壮性好,不易显现像 Java 、 C++ 等其他语言那样繁杂的问题,如内存泄漏和 Crash ,跟踪调试相对容易非常多。
再者,功能函数应有尽有,不需要重新造轮子。PHP 官方供给的标准库非常强大,各样功能函数包含MySQL、Memcache、Redis、GD图形库、CURL、XML、JSON等等都能找到,免除了研发者到处找库的懊恼。
另一,PHP 文档仔细易懂,每一个函数都有仔细的说明和运用示例。第三方类库和工具、代码、项目亦很丰富。开发者能够快速、有效地运用 PHP 编写研发各类软件。
能够说,日前为止市面上仍然无显现比 PHP 更简单易用的编程语言。然而,自 PHP 诞生到此刻的 20 数年间,从 Web 时代兴起到移动互联网退潮,互联网行业各样编程语言和技术层出不穷, Node.js 、 GO 、 Python 持续地在挑战 PHP 的地位。PHP 语言的局限亦起始凸显,PHP 语言将来在哪里?PHP 程序员当怎样应对将来的变革?
性能问题
PHP 最令人诟病的一点非性能莫属,做为一门动态脚本语言,PHP 的优点是研发方便效率高,缺点便是性能差。在密集运算的场景下比 C 、 C++ 相差几十倍乃至上百倍。另一 PHP 不能够直接操作底层,需要依赖扩展库来供给 API 实现。
运用 PHP7
PHP7 版本对 Zend 引擎做了海量修改,大幅提高了 PHP 语言的性能,运用 PHP7 能够使程序性能瞬间翻倍。即使是 WordPress 这般重量级的软件运行在 PHP7 都能有上千 QPS ,相当于一台服务器每日就能处理 8000 万次请求。运用 PHP7 ,做好 MySQL 优化,运用 Memcache 和 Redis 进行加速,这套技术架构完全能够应对相当大规模的系统。除了某些亿级用户的平台之外,通常规模的系统完全无压力。
学习 C/C++/GO
PHP 程序员能够学习一门静态编译语言做为弥补实现动静互补,C/C++/Go 都是不错的选取。况且静态语言的编程体验与动态语言完全区别,学习过程能够让你得到更大的提高。把握 C/C++ 语言后,还能够阅读 PHP 、 Swoole 、 Nginx 、Redis 、 Linux内核 等开源软件的源码,认识其底层运行原理。
此刻最新版本的Swoole供给了C++扩展模块的支持,封装了Zend API,用C++操作PHP变得很简单,能够用C++实现PHP扩展函数和类。
管理规范
Composer
Composer 显现后,PHP 的依赖管理能够变得非常简单。程序内依赖有些类库和框架,直接运用 Composer 引入就可,经过运用 composer update 安装依赖的包。处理了过去加载外边库的各样困难。Composer 亦有国内镜像,速度非常快。此刻绝大部分PHP开源的项目都供给了 Composer 的支持,意见大众在项目中运用 Composer 来处理 PHP 代码包管理的问题,不要再运用下载源码、手工 include 的原始办法。
PSR
PSR 是 http://www.php-fig.org/ 组织制定的PHP语言研发规范,约定了非常多方面的规则,如命名空间、类名规范、编码风格标准、Autoload、公共接口等。此刻已然作为PHP技术社区事实上的标准了。非常多知名的 PHP 框架和类库都遵守了 PSR 规范。PHP 研发者应当学习把握 PSR 规范,在研发程序时应当尽可能遵循 PSR 规范。
应用扩展
Vue.js
PHP 程序员除了写后台程序之外,还有很大一部分工作在展现层,和浏览器前端打交道。2017 年你还在用 jQuery 操作 DOM 实现界面渲染吗?已然完全 out 了。此刻用 Vue.js 能够非常方便地实现数据和 DOM 元素的绑定。经过 Ajax 请求后台接口返回数据后,更新前端数据自动实现界面渲染。
倘若你不但要写 Web 程序,同期还期盼兼顾 Android 、IOS 、PC 客户端等平台,React Native 是一个不错的选取。
Swoole
PHP 还局限于做 Web 网站吗?Swoole 是一个异步并行的通信引擎,做为 PHP 的扩展来运行。Node.js 的异步回调 Swoole 有,Go语言的协程 Swoole 亦有,这完全颠覆了对 PHP 的认知。
运用 Swoole PHP 能够实现常驻内存的 Server 程序,能够实现 TCP 、 UDP 异步网络通信的编程研发。过去PHP只能做一个 Web 网站,此刻运用 Swoole 能够做 Java 、C++ 才可实现的通信服务,例如 WebSocket 即使通信、聊天、推送服务器、RPC 远程调用服务、网关、代理、游戏服务器等。
能够说,Swoole 是每位 PHPer 都需把握的必须技能。但 Swoole 的运用门槛对新手来讲相对较高,需要付出必定的精力成本。
因此这一次,咱们邀请了 Swoole 开源项目的创始人 —— 韩天峰参加「上海源创会」,为咱们介绍 Swoole 3.0 全新的 PHP 协程编程模式,以及 Swoft 协程框架的运用,基于 Swoft Cloud 供给的各类组件实现 PHP 微服务架构。
除此之外,5 月 27 日(周日)上海源创会 还邀请了黄励博(又拍云系统研发高级工程师)、曲骏(安畅混合云服务架构团队负责人)、朱明智(个推B2D开发部平台开发专家)、许雪里(XXI系列开源软件作者,美团点评工程师)四位行业大牛。以架构为核心,与你进行一场关于面对面的技术对话。
扫码报名,与业内大咖和更加多小伙伴当面交流。(微X)
注:以上内容有引用和参考 2017年PHP程序员将来路在何方 韩天峰
链接:https://segmentfault.com/a/1190000008888700?utm_source=tuicool&utm_medium=referral
举荐阅读
点击“阅读原文”查看更加多精彩内容
|