• php7 宣称速度比php5.6快两倍,宣称要打破一切旧规则

  • 2015年,php 7.0发布

  • 2016年,php 7.1发布

  • 2017年,php 7.2发布

  • 2018年,php 7.3发布

  • 2019年,php 7.4即将发布

  • 并且php8已经在讨论中,并已确定支持JIT,应该会在2020年发布

  • 各版本cpu性能测试,php8比php5.0时快了40倍,比php5.6快了9倍,http://www.laruence.com/2016/12/18/3137.html

     看的出来php这几年很活跃,php确实做出了很大的改变,性能得到了很大提升,同时也在向弱类型和解释型动刀,弱
类型和解释型都是php之前的优点,好用,简单,快速开发,然而过去的有点不一定适合未来,php的团队也注意到了这一
点,不断进行类型规范和运算符规范的调整,比如支持类型声明,支持运算符的类型异常抛出,以及数组和foreach做出的
改变。这所有的一切都是对php的一种修复,过去php太杂耍了,隐式类型自动转换,看着很厉害,用着很舒服,实际上隐
藏了大量的未知BUG,可能看起来逻辑毫无问题的代码,莫名其妙的不通过。弱类型在计算时必然要进行类型的判断和转换,由于php的数组以及字符串包装的层次足够深,必然浪费性能。
这也是为什么php开发速度快,号称世界上最好的语言,却只能蜷缩在web开发这一角,这是php的病,得治。随着php7.0
~ 7.4的改进, 这些问题正在逐渐解决,然而路漫漫其修远兮!
  • php 7.0
PHP 7.0.0 Alpha 1 [1]  使用新版的ZendEngine引擎,带来了许多新的特性,以下是不完全列表:
性能提升:PHP7比PHP5.6性能提升了两倍。 Improved performance: PHP 7 is up to twice as fast as PHP 5.6
全面一致的64位支持。 Consistent 64-bit support
以前的许多致命错误,现在改成抛出异常。Many fatal errors are now Exceptions
移除了一些老的不在支持的SAPI(服务器端应用编程端口)和扩展。Removal of old and unsupported SAPIs and extensions
新增了空接合操作符。The null coalescing operator (??)
新增加了结合比较运算符。Combined comparison Operator (<=>)
新增加了函数的返回类型声明。Return Type Declarations
新增加了标量类型声明。Scalar Type Declarations
新增加匿名类。Anonymous Classes
  • php 7.4 性特性
    1、php7.4 支持了预加载。现在传统的 PHP 框架或者项目,都是有一次请求就加载和重新编译一次文件的。预加载的实现
使得我们可以直接将 PHP 文件加载到内存中,并一次来永驻内存来应对后续的请求。(是不是看着这段话很熟悉)
不过预加载也会带来一点机器内存要求和一些损耗,你还需要注意的是,每次在更新完 PHP 文件之后,你需要重启服务才可以使得新的 PHP 文件生效。
2、属性类型限定
在定义类属性的时候,你可以限定属性的类型 string boolean 或者是一个类的实例:
class GeiXue
{
public string $name;
public Foo $foo;
}
3、类型限定的改进
4、外部函数接口
外部函数接口(Foreign Function Interface)总的来说就是允许你调用 C 代码,也就是说,最好的应用场景可能就是:你以后写 PHP 的扩展就可直接用 PHP 来写了!
不过需要注意的是:这目前来说还是比较复杂的,你最好还是有点 C 语言的基础。
5、null合并符的改进
6、PEAR不再默认开启,使用compose替换
7、自定义对象序列化
在 PHP 7.4 的时候,增加了 __serialize 和 __unserialize 这两个魔术方法,你可以用来自定义对象的序列化。
  • php8
    继php对于变量类型的加强之后,又支持了JIT, 引入JIT后,会扩大PHP的使用范围,使得PHP成为一种真正的通用型语言,而不仅仅是个Web开发语言,尽管目前咋Web开发上面PHP做的确实是非常成功。
对富CPU密集型计算方面的改善,可以在机器学习,3D渲染,2D(图形)渲染和数据分析方面提高适用范围。
从此php将不再蜷缩在web开发的一角,将有机会和java、python展开全面竞争。
其它的改进方案都还在讨论中,希望php8继续打破过去,浴火重生,成为真正的最好的语言!
  • p++ 的争论
    PHP的核心开发者内部,关于是否由弱类型动态向强类型静态语言转变发生重大分歧 ,想了解详情的可以点击下面的连接

    https://externals.io/message/106503
https://externals.io/message/106453 一部分认为php引入的变量类型声明是个错误,就应该保持PHP的本色,包括引入者本人,
另一部分就是像我这样希望PHP进行改变,向强类型静态语言转变。
正如zeev说的,双方没有谁对谁错,只不过前者考虑的是php的整个传承和社区,以及php的特色
而我认为,5G已经到来,物联网普及化和AI的到来只是时间问题,现在的应用动辄上亿用户,大数据分析处理的需求即将白热化,
将来PHP何去何从?守着web领域一块孤岛?守得住吗?以后的web仅仅是IO密集型吗?
计算密集型不一定,因为有分布式,各种流数据库,但数据密集型是必然的。
php即使对数据密集型有了很好的支持,那也是守住疆土而已,谁不想涿鹿中原呢。
也许PHP搭上大数据这班车,这一切就不一样。 上个周听说zeev 想要开发php方言p++,然后一轮投票后以0比50的结果被否决,最后zeev自己也投了反对票(2019-08-27) https://wiki.php.net/rfc/p-plus-plus 最近唱衰PHP的人越来越多,其实PHP作为web语言,本身并没有太大毛病,有毛病的是国内的PHP从业者。
大多是培训出来的,培训出来也没啥,毕竟大学一般没有PHP专业,只要愿意学,都可以进步。
但是培训出来随便找个工作,也不深入学习,就天天糊弄,最后啥也不懂,搞得其他语言的开发者对PHPer有怨气,领导不相信PHPer也是必然。
我身边这样的例子太多了,说是工作三年,水平比我刚大学毕业时还低
整整一年了,单点登录还没对接上,天天跟做单点登录的部门吵架。(给部门拉仇恨)
不会用kakfa,说php就不支持kafka。(给php招黑)
接收参数后,先查询sql,再验证参数是否为空。( 真的,我都不敢想,还能有这种骚操作)
真不怪别人黑PHP,这样的人,我敢说要占PHPer的相当大一部分,
当然我举得这个例子有点极端,
中庸点的就是,会写写增删改查,对对接口,新东西给点时间也能凑合用,原理一概不知。
整个PHP行业现在就是这么个情景,如果我是老板,也会对php失望。

关于php的发展前景的更多相关文章

  1. Web前端发展前景及就业方向

    Web前端发展前景及就业方向 HTML5技术已经日趋成熟 Html5是移动互联网前端的主流开发语言,目前还没有一个前端的开发语言能取代 html5的位置,所以说,无论你是做手机网站还是在手机app应用 ...

  2. SAAS在中国市场的发展前景

    发展现状 2008年1-7月软件行业实现收入4199.1亿元,同比增长32.4%.2008年第一季度,业务管理软件市场总量达16.31亿元,同比增长17.8%.面对成本的上升,企业选择了向信息化要效率 ...

  3. HTML5简介及HTML5的发展前景

    WEB技术发展越来越迅速,HTML5的到来更是把WEB技术推向了巅峰,目前HTML5技术已经日趋成熟,不仅在PC段,HTML5更是在移动终端上也有广泛的应用,HTML5的未来十分光明,值得我们去学习. ...

  4. InSAR在地面沉降监测中的应用及发展前景

    合成孔径雷达(Synthetic Aperture Radar,SAR)的概念始于20世纪50年代,是正在发展中的极具潜力的微波遥感技术.SAR具有全天时.全天候的工作能力,能够穿透云层,对某些地物具 ...

  5. PHP语言在中国的发展前景怎么样?

    PHP语言在中国的发展前景怎么样? “在互联网泛滥得今天,想要做好这一行业不是那么容易的,然而,互联网编程语言的发展PHP编程语言的出现也是赢了世界发展的潮流. PHP在我国发展也很快,越来越多的编程 ...

  6. Progressive web app理念及发展前景

    前一段时间微信推出微信小程序进行公测,着实火了一把,博得了大众的眼球,不明真相的吃瓜观众们纷纷围观,所谓的“微信小程序”,通俗的讲就是一种不需要下载安装即可使用的应用程序,脱离于app商店依托于浏览器 ...

  7. AJAX 概念 优势 发展前景 工作原理 底层技术 状态 缺点 框架

    1. 概念 Ajax asynchronous JavaScript and XML , 异步js和xml. 这种解释已经过时了, 现在ajax就是, 允许浏览器和服务器通信, 而无需刷新当前页面的技 ...

  8. Java发展前景与职业方向解析

    大多数人选择Java可能只是因为听说Java前景好.Java比较好找工作.Java语言在TIOBE排行榜上一直位于前三等等之类的原因,但是Java具体好在哪里,心里却是没有什么概念的.本文为你解答学J ...

  9. 码农Coding Peasant(s):一般指从事没有发展前景的软件开发职位

    码农Coding Peasant(s):一般指从事没有发展前景的软件开发职位,这种职位只能强化职业者在单方面的技术领域技能,学不到新技术,同时也是部分从事软件开发工作人员的一个自嘲的称号.一个依靠写代 ...

  10. 乐字节Java学习01-Java语言概述,Java发展前景,Java的特点

    从这篇文章开始,小乐准备写一整系列的Java学习文章,一步一步带您进入Java的神奇世界! 这是第一篇:Java语言概述以及Java的发展前景 1.SUN公司介绍 SUN公司全称是Stanford U ...

随机推荐

  1. 计算机组成原理 — FPGA 现场可编程门阵列

    目录 文章目录 目录 FPGA FPGA 的应用场景 FPGA 的技术难点 FPGA 的工作原理 FPGA 的体系结构 FPGA 的开发 FPGA 的使用 FPGA 的优缺点 参考文档 FPGA FP ...

  2. c++ STL之unordered_map

    1.1 特性 关联性:通过key去检索value,而不是通过绝对地址(和顺序容器不同) 无序性:使用hash表存储,内部无序 Map : 每个值对应一个键值 键唯一性:不存在两个元素的键一样 动态内存 ...

  3. HDFS文件目录操作代码

    分布式文件系统HDFS中对文件/目录的相关操作代码,整理了一下,大概包括以下部分: 文件夹的新建.删除.重命名 文件夹中子文件和目录的统计 文件的新建及显示文件内容 文件在local和remote间的 ...

  4. React Native实战一

    效果图如下所示: 展示列表页面,点击跳转至详情页面:     /** * Sample React Native App * https://github.com/facebook/react-nat ...

  5. c++ 调试信息输出

    1. 把打印信息输出到指定的文件里. #include <stdio.h> #include <stdlib.h> freopen("log.txt", & ...

  6. Shell脚本无限调用

    #! /bin/bash # this shell can run endlessfully echo "i love you ! " sh ./run 通过echo来显示了无限调 ...

  7. javaweb期末项目-stage1-part2-UML设计

    UML设计.rar-下载 说明:解压密码为袁老师全名拼音(小写) 相关链接: 项目结构:https://www.cnblogs.com/formyfish/p/10828672.html 需求分析:h ...

  8. Cocos2d-x_初探_第一次配置与HelloWorld

    此前多久,忘了,反正就是打通关泡泡龙以后.YY君向我推荐了这个(如题).一查资料,诶.还挺有意思的,那我就去下一个玩玩吧. 资料下载清单: 1.Android-ndk 2.Android-sdk 3. ...

  9. 阿里EMR部署

    选自定义购买: 选择master配置: 选择core配置: 下一步,选高级里在jdbc后填RDS的url, 用户名,密码: jdbc:mysql://rm-d7o7x76l11u0434zn.mysq ...

  10. (5.15)mysql高可用系列——MHA实践

    关键词:MHA,mysql mha [1]需求 采用mysql技术,实现MHA高可用主从环境,预计未来数据量几百G MHA概念参考:MYSQL高可用技术概述 [2]环境技术架构 [2.1]MHA简介 ...