PHP7来了,那么PHP6去哪儿了呢?

PHP7简介

PHP7是PHP编程语言全新的一个版本,主要在性能方面获得了极大的提升。官方的文档显示,PHP7可以达到PHP5.x版本两倍的性能。同时还 对PHP的语法做了梳理,提供了很多其他语言流行的语法格式。难能可贵的是,做了如此大的改动,PHP7的兼容性还是非常好的。对于绝大多数的应用来讲, 可以不用做修改即可迁移到PHP7版本。

PHP6版本去哪儿了?

谈到PHP7,大家肯定会问,PHP6版本去哪儿来呢?这个说来话长。早在2005年的时候,PHP社区发起了PHP6的项目,这个项目旨在为 PHP提供完全内置的unicode的支持。但由于种种困难,该项目最终于2010年取消。虽然PHP6这个项目取消了,但大量的功能已经在PHP5.x 版本中得以实现。这里面最重要的就是OOP方面的提升。这也帮助PHP实现了从面向过程到面向对象编程的跨越。市面上也随之出现了一大堆的PHP OOP编程框架。

后来鸟哥加入到了PHP核心开发小组

后来鸟哥加入到了PHP核心开发项目,鸟哥发起了PHP解释引擎重构的项目,叫做PHPNG,大家可以参考这篇wiki:https://wiki.php.net/phpng

PHPNG项目主要是对PHP的引擎进行重构,很快鸟哥的项目组取得了非凡的成就,获得了PHP开发社区的的认可,合并到了PHP的主干,也就是我们现在说的PHP7版本。

为什么不延续PHP6的序列?

关于这个问题,PHP官方给出了详细的解释,大家可以参考:https://wiki.php.net/rfc/php6

  1. PHP6版本事实上已经存在了。

  2. PHP6虽然无法发布GA版本,但PHP6已经众所周知。

  3. PHP6已经在很多的公开会议,场合讨论过。

  4. PHP6还被周边的很多社区所周知。(有很多PHP6的书籍)

  5. 使用PHP6会造成很多的困扰。

  6. 版本跳跃在开源软件和商业软件里面也经常见。比如MariaDB跳到10.0,Symantec跳过了13版本。(译者按:windows系列版本也很典型)

  7. 版本6在动态语言届里面通常和失败相关联。PHP6失败了,Perl6失败了。跳出动态语言届,MySQL6早已存在但一直没有发布。(狂笑)

  8. 7在东方和西方文化里面都认为是一个吉祥数字。(狂笑)

于是就有了牛x的一塌糊涂的PHP7版本。

相关链接

PHP 7 来了,PHP 6 去哪儿了?的更多相关文章

  1. 神马玩意,EntityFramework Core 1.1又更新了?走,赶紧去围观

    前言 哦,不搞SQL了么,当然会继续,周末会继续更新,估计写完还得几十篇,但是我会坚持把SQL更新完毕,绝不会烂尾,后续很长一段时间没更新的话,不要想我,那说明我是学习新的技能去了,那就是学习英语,本 ...

  2. 就这么漂来漂去---一个毕业三个月的java程序员的裸辞风波

    注:这并不是一篇技术文章,而是记录了我这几个月经历的入职,裸辞,找工作的心路历程,简单介绍一个博主的情况,我是16年毕业生,校招进了一家北京的公司,java开发,和很多年轻人一样,干了一段时间,我发现 ...

  3. 去IOE的一点反对意见以及其他

    某天在机场听见两老板在聊天,说到他们目前销售的报表老跟不上的问题,说要请一个人,专门合并和分析一些发过来的excel表格,我真想冲上去说,老板,你需要的是一个信息处理的系统,你需要咨询么.回来一直耿耿 ...

  4. IM 去中心化概念模型与架构设计

    今天打算写写关于 IM 去中心化涉及的架构模型变化和设计思路,去中心化的概念就是说用户的访问不是集中在一个数据中心,这里的去中心是针对数据中心而言的. 站在这个角度而言,实际上并非所有的业务都能做去中 ...

  5. JavaScript 函数节流和函数去抖应用场景辨析

    概述 也是好久没更新 源码解读,看着房价蹭蹭暴涨,心里也是五味杂陈,对未来充满恐惧和迷茫 ...(敢问一句你们上岸了吗) 言归正传,今天要介绍的是 underscore 中两个重要的方法,函数节流和函 ...

  6. 回车去替换铵钮的click点击功能

    某一时候,我们不想在form的所有必填的域均完成之后,再去使用mouse去点击铵钮来提交数据.而是直接按回车去focus提交的铵钮来提交. 可以写jQuery script程序:

  7. app使用微信支付成功后,点击返回到该app却跳到另外一个app去了

    刚接手了公司iOS的两个APP, 现在碰到了这样一个问题: 有一台iPhone在一个APP中使用了微信支付,支付成功后,点击返回到该APP,结果却跳到了另外一个APP去了. 这两个APP都是公司开发的 ...

  8. [LeetCode] Serialize and Deserialize BST 二叉搜索树的序列化和去序列化

    Serialization is the process of converting a data structure or object into a sequence of bits so tha ...

  9. [LeetCode] Serialize and Deserialize Binary Tree 二叉树的序列化和去序列化

    Serialization is the process of converting a data structure or object into a sequence of bits so tha ...

  10. openwrt下部署adbyby去广告大师 免luci 带自启动,自动开启透明代理

    最近朋友送了个360老路由器 C301,于是乎就掉进了智能路由器的坑, 玩智能路由器第一件事一定是去广告, 要么怎么对得起智能路由器- -! 路由器去广告当然首推广告屏蔽大师 www.adbyby.c ...

随机推荐

  1. 5 THINGS TOP BUG BOUNTY HUNTERS DO DIFFERENTLY

    出处:https://www.hackerone.com/blog/5-things-top-bug-bounty-hunters-do-differently 本周,我们有幸收容了50名比利时科技学 ...

  2. imperva 更改agent的注册密码

    imperva agent 在注册到网关的时候显示账号密码错误 如下图 这是一个数据库审计的设备由于当初最开始实施的时候并不是我安装的,所以账号密码我也不清楚,客户留的账号密码也不确定.因此导致账号密 ...

  3. springcloud常见问题处理

    无法在任何已知服务器上执行请求. 原因是注册中心未启动.在使用springcloud搭建微服务时,一定要先启动注册中心,再启动服务端和客户端.具体报错如下: com.netflix.discovery ...

  4. mysql 字符编码设置

    安装mysql时如果字符编码为默认值latin1,则需要修改为utf8以便支持中文数据. 命令如下: 1.显示数据库字符集 mysql> show create database test;+- ...

  5. 06 Go 1.6 Release Notes

    Go 1.6 Release Notes Introduction to Go 1.6 Changes to the language Ports Tools Cgo Compiler Toolcha ...

  6. GPU下train 模型出现nan

    When training on GPU, the error "Model diverged with loss = NaN" is often caused by a sotm ...

  7. 对象克隆及属性转换-JavaScript

    在某些项目中,需要将一些返回信息进行其他语言的翻译,可以为不同语言用户提供不同的语言版本.下面是一个实现: /** * @class Translate * @description 查询字典,翻译成 ...

  8. Kafka 集群配置SASL+ACL

    一.简介 在Kafka0.9版本之前,Kafka集群时没有安全机制的.Kafka Client应用可以通过连接Zookeeper地址,例如zk1:2181:zk2:2181,zk3:2181等.来获取 ...

  9. CentOS 7命令行安装图形界面(GNOME、KDE等)

    CentOS 7 默认是没有图形化界面的,但我们很多人在习惯了 Windows 的图形化界面之后,总是希望有一个图形化界面从而方便我们使用,这里介绍一下 CentOS7安装图形化桌面系统的方法. 一. ...

  10. Amazon电商数据分析——数据获取

    最近一段时间主要重心在Amazon电商数据分析上,这是一个偏数据分析和可视化的项目.具体来说就是先获取Amazon的商品数据,数据清洗和持久化存储后作为我们自己的数据源.分析模块和可视化模块基于数据进 ...