魔扣论坛

魔扣源码论坛业务
查看: 1388|回复: 6

PHP 7终于发布:开发者会选择PHP 7吗?

[复制链接]
  • TA的每日心情
    慵懒
    2018-10-28 00:07
  • 签到天数: 17 天

    [LV.4]神出鬼没

    20

    主题

    0

    回帖

    30

    积分

    魔扣新手

    Rank: 1

    魔扣币
    8
    贡献
    8
    威望
    0
    发表于 2018-8-12 22:39:11 | 显示全部楼层 |阅读模式
    魔扣币兑换比例:【 50以下 : ¥1 = 10 魔扣币 】丨【 50 - 100 :¥1 = 20 魔扣币】丨【 100以上:¥1 = 30 魔扣币 】

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x
    大家可以通过阅读本文,学习关于PHP7.0的五个方面的内容:PHP7.0简介、主要新特性、过去几周关于程序员是否采用php7.0的意愿调查结果、以上调查结果的分析、以及对PHP未来版本的期待。
    PHP 7 是11年来首次发布的PHP主版本,PHP上一次发布主版本是在2004年 ,当时发布的是PHP 5.0.0。与这次PHP核心开发人员沉睡已久不同,PHP 6 曾立志要让PHP支持Unicode字符串。然而开发停滞不前,PHP 6计划在2010年被取消了。自那以后虽然也有一些带着重要新特性的PHP版本发布,比如PHP 5.4,但没有哪个真正称得上主版本。直到2010年Facebook为 HipHop编译器揭开面纱。这款编译器可以将PHP转为C++代码,再转为本地机器码,用C++编译器编译。尽管这个想法很好,也改进了PHP的性能,但不实用,因为本地机器码编译PHP脚本耗时太久。之后Facebook换了另一种方法,他们开发了HHVM(HipHop Virtual Machine),通过JIT engine(Just In Time)将PHP代码转换为本地机器码。这使得所耗时间大大减少并且性能得到显著改进。很显然,Facebook不满意PHP的特性,于是在2014年启动Hack项目,它源于PHP语言却有着很多PHP没有的特性,比如对所有数据类型都进行更严格的类型检查,以及支持内置异步编程。不久后Zend的Dmitry Stogov 发布了PHP的一个名为PHPNG的分支。
    (二)PHP 7 的主要新特性
    PHPNG的初衷是做调查,调查JIT engine的引入将对基于PHP版本的Zend Engine有何影响。然而,随着进一步的研究他发现,其他方面的改进能让PHP代码运行得更快。PHPNG是PHP 7的基础,起名叫PHPNG是为了避免与被取消的PHP 6混淆。PHP7新增的其他功能包括:标量值的严格类型、匿名类、嵌套类、编译PHP引擎的可能性以及特定程序优化,好比Wordpress使用了Performance Guided Optimizations(PGO)。PHP 7.0本来计划在10月发布,但是因为一些严重的bug所以推迟到了十二月。
    (三)PHP7 接受程度调查结果分析
    PHP 7 的发布是PHP世界近年来最令人激动的事之一,因为对其功能有太多的期待,比如上文提到的那些。许多开发者迫不及待地使用PHP7,但不是每个人都能正确地使用它。接下来这个调查就是用于评估PHP程序员是否愿意采用PHP 7。调查主要围绕三个问题:
    1、你是否打算在你的生产中使用PHP 7?
    2、你是否打算在你的开发环境中使用PHP 7?
    3、你生产中所使用的最新版的PHP是哪个?
    526位开发者参与该调查,所以以下结果应该能代表许多PHP程序员的真实反应:
    1. 你是否打算在你的生产中使用PHP 7?
    2. 你是否打算在你的开发环境中使用PHP 7?
    3. 你生产中所使用的最新版PHP是哪个?
    (四)PHP 7 调查结果分析
    从第一个问题可看出绝大多数程序员不是早期使用者。他们想使用PHP 7 但需要过一段时间等PHP7 稳定后再用。
    尽管有8个候选发布版本,并且PHP测试小组评估PHP通过全部测试的可能性很大,但开发者也知道应该会有些bug和向后不兼容的更改存在,这些会导致程序员花费相当长的时间,用于PHP的最终修复或者基于开发者需要去修改代码。
    另外,还有一部分的程序员只想在新项目中使用PHP 7,因为目前正在进行的这些项目非常重要,因此不能被PHP7 可能出现的错误影响。
    第二个问题是关于PHP程序员对PHP 7的好奇心有多重。结果显示大部分程序员愿意在开发环境中测试PHP 7,因为这样更安全。
    程序员们已经能够想象一旦他们的代码出现问题,等待他们修复的工作量该是多么的惊人,尤其是那些自己拥有测试套件的程序员,因为他们可能已经看到有很多的测试显示失败。
    第三个即最后一个问题,显示了程序员们正在使用的PHP版本有多新。
    有一小部分的人正在勇敢地在生产中使用PHP 7。虽然我认为他们不大可能在非常重要的项目中使用PHP 7开发。
    数据显示了个好消息,绝大部分程序员已经开始使用PHP 5.6了。而且在最坏的情况下他们仍然使用PHP 5.3。这有可能是因为他们的公司不提供其他的版本,或者是因为新版本不适用于他们的代码。
    如今几乎每个人使用的版本都不低于PHP 5.3.11,因为更老的版本里有致命的bug,这些可能会导致你的服务器崩溃。
    也许你很好奇那3位选择“其他”的开发者使用的是什么,事实上只有一位准确说了正在使用的是HHVM。为了使用HHVM你需要控制你的托管环境并且需要手工编译它。然而,绝大多数程序员不可能这么做或者没这技术。
    (五)PHP 7的未来
    现在PHP 7 已经正式发布了,你也许会很好奇下一步是什么。以下是一些已在计划内以及我们猜想的特性。
    一些新特性的计划我们已经在“Lately in PHP Podcast”中讨论过了。如果你很好奇,你可以追随博客音频或者订阅YouTube频道来获取关于PHP的最新功能的讨论。
    1. PCO是加密的PDO
    我们已经知道的是会有一个抽象扩展,名为PCO,这个类似于PDO但是有密码。
    2. PHP静态代码分析器
    Rasmus Lerdorf还开发了一个工具叫PHAN,这是个PHP静态代码分析器。目的是仅通过分析你的PHP代码而不去运行代码,就检测出可能存在的bug。该工具利用了PHP 7中新的AST(抽象语法树)扩展。
    3. 带async and await的异步编程
    另一种可能性是,PHP使用async and await构造,以提供更好的内置异步编程支持。这使你能够在同一个脚本中运行多并行任务,而不需要等一个任务执行一个任务。
    请不要将异步编程与多线程编程混淆。PHP已经可以使用pthreads extension.执行多线程编程了。
    Async and await构造最大的优势是不再需要你处理callback hell。这意味着如果你需要等待一些异步操作,比如访问文件系统、数据库或远程服务器,你只需要使用等待关键字,那么异步操作完成后,脚本将会继续操作下一个语句。
    Async and await构造关键字需要PHP有一些重要的改变,因为它需要处理内部事件循环。然而,PHP 开发者已经开始讨论,实施async and await以及关键字的构造可能性,因为这些关键字应该在其他开发者开始使用之前被保存。
    此外,Facebook Hack语言也支持async and await。我猜测Facebook是想为PHP程序员带来具有async and await功能的PHP。
    也许你怀疑PHP需要这些构造的必要性,但是一旦你了解他们的优点后,你就会知道他们的重要性。
    很多程序员转移到Node.js,因为Node.js支持异步编程。Node.js目前还不支持async and await关键字,但也只是时间问题,因为async and await也是EcmaScript 7的新特性之一,而且将来的Node.js将使用基于EcmaScript 7的JavaScript。
    这样的开发被认为更加重要,特别是在Wordpress近期宣布尽可能多的将代码(从php)移植到JavaScript,包括在服务器端(从php)移植到Node.js和React框架。
    显然这是他们对服务器最大利用化的一步,该服务器托管着Wordpress.com blogs。我不知道WordPress社区是否会接受这项目,因为有成千上万的插件依赖于PHP。
    4. 独立的Web服务器
    PHP有一个独立的Web服务器,但不推荐给生产环境。
    一旦PHP支持内置异步编程,那用它开发HTTP Web 服务将更容易,哪怕用纯PHP编写,就像是在用Node.js一样。
    这使得PHP的功能更灵活,处理并行请求更高效使用更少内存,尤其是在合并异步编程和基于pthreads的多线程编程后之后。
    (六)总结
    PHP 7是巨大的飞跃,但世界在不停旋转,因此PHP也必须跟上新趋势,比如上文提到的那些。
    我们还是要祝贺所有付出时间和精力的开发者,因为是他们使PHP如此优秀,比如PHP 7。
    如果你喜欢本文,或者想问一些和PHP 7新特性有关的问题并收获回复,请在下方评论。
       


    来源链接: http://www.ijiandao.com/safe/cto/18596.html

    该用户从未签到

    2

    主题

    260

    回帖

    522

    积分

    高级魔扣

    Rank: 4

    魔扣币
    260
    贡献
    260
    威望
    0
    发表于 2018-8-16 14:53:19 来自手机 | 显示全部楼层
    真心的祝福你:开心每一天,快乐每一刻,好运永远与你相伴!真诚希望你每一个今天都过得幸福!魔扣源码论坛更希望你每一个明天都能比今天还快乐!

    该用户从未签到

    2

    主题

    239

    回帖

    480

    积分

    中级魔扣

    Rank: 3Rank: 3

    魔扣币
    239
    贡献
    239
    威望
    0
    发表于 2019-1-30 16:44:52 来自手机 | 显示全部楼层
    宝贝儿,只要你幸福,我就幸福,魔扣源码论坛不管你在谁身边。

    该用户从未签到

    3

    主题

    265

    回帖

    533

    积分

    高级魔扣

    Rank: 4

    魔扣币
    265
    贡献
    265
    威望
    0
    发表于 2019-2-14 09:01:25 | 显示全部楼层
    风,吹着想念;云,裹着爱恋;山,藏着真心;水,流着柔情;雨,飘着浪漫;雾,漫着赤诚;您,怀着温馨;我,揣着思念;魔扣源码论坛祝愿我的好朋友天天开心快乐!

    该用户从未签到

    2

    主题

    288

    回帖

    578

    积分

    高级魔扣

    Rank: 4

    魔扣币
    288
    贡献
    288
    威望
    0
    发表于 2019-7-16 23:01:11 | 显示全部楼层
    命中有很多事情足以把你打倒,但真正能把你打倒的是你的心态。',

    该用户从未签到

    0

    主题

    239

    回帖

    478

    积分

    中级魔扣

    Rank: 3Rank: 3

    魔扣币
    239
    贡献
    239
    威望
    0
    发表于 2019-10-26 11:38:49 来自手机 | 显示全部楼层
    风,吹着想念;云,裹着爱恋;山,藏着真心;水,流着柔情;雨,飘着浪漫;雾,漫着赤诚;您,怀着温馨;我,揣着思念;魔扣源码论坛祝愿我的好朋友天天开心快乐!

    该用户从未签到

    0

    主题

    260

    回帖

    521

    积分

    高级魔扣

    Rank: 4

    魔扣币
    261
    贡献
    261
    威望
    0
    发表于 2019-12-28 22:22:39 | 显示全部楼层
    众里寻他千百度,蓦然回首在这里!
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    • 联系我们
    • 新浪微博 :
    • 在线客服 :魔扣科技 
    • 源码QQ群 :魔扣源码论坛官方总群
    • 联系邮箱 :charlin#morko.net
    • 微信扫一扫
    快速回复 返回顶部 返回列表