惠新宸于2011年8月作为核心开发人员加入PHP语言官方开发组,目前是该组织的唯一一位国人,也是国内最具影响力的PHP技术专家之一。 惠新宸作为知名PHP技术博客“风雪之隅”(http://www.laruence.com/)的博主, 一直专注与PHP底层原理的研究和分享。 其中《深入理解PHP原理》系列文章被广泛推荐, 成为国内PHP语言深度使用和定制的经典入门教材。他基于PHP扩展开发的PHP框架Yaf, 被誉为最快的PHP开发框架。同时他还是Lua,Taint等PHP扩展的作者。在PHP 5.4开发过程中,他一共为PHP贡献了近400个交付。本次我们对惠新宸进行了一次采访,请他分享一下PHP框架和扩展的知识,以及PHP发展的情况。

InfoQ:请简单的介绍一下您自己,以及您目前所在团队的情况。

惠新宸:大家好,我是惠新宸,陕北人, PHP圈很多朋友叫我鸟哥,趁着这个机会和大家解释下,我不是《Linux私房菜》的鸟哥,我只是IM昵称叫”雪候鸟”,又因为在百度的时候,我在工程师中算年长,所以大家才开始这么叫。

目前我在新浪微博应用架构团队工作,我们应用架构团队主要致力于新浪微博LAMP的架构优化,以适应高性能和快速开发的需求。

微博每天PV数十亿,产生数T级别的数据, 处理过程中任何一个毫秒的优化,一个byte的减少,对我们都是意义重大,这个工作非常有意思也很有挑战, 到目前为止,我们团队已经通过一些不改动业务逻辑的优化方法,把微博首页的响应时间降低了44%,TPS提升了78%。
另外,我们团队还负责技术提升和沉淀工作,这也是一项很有意思的工作,因为分享能让我们收获更多。

InfoQ:作为PHP语言官方开发组的唯一一位国人,请您谈谈加入这个组织之后的一些体会。

惠新宸:“唯一一位”这个称号肯定是暂时的,我相信未来会有更多国内开发者加入。我是去年8月份加入PHP开发组, 开发组是一个开源组织, 准确的说,我们应该被称为Commiters(提交者),有很多不是开发组的同学为PHP提供Patch。

加入以后我对如何运作一个开源项目有了一些新的体会, 其中让我感受最深的就是各种流程规范。大到发布一个版本的流程规范,小到一个新特性增加的流程规范,这些看似繁琐的规范,虽然一定程度上导致响应速度缓慢,但却保证了PHP在成长过程中,尽量不出大事故。

还有一个体会就是, 英语对于技术工作者来说真的很重要,我现在特别后悔本科时没好好学习英语, 虽然我阅读资料没什么问题,但是在日常交流的时候经常闹笑话,有个段子,就是开发组有个开发者说,要理解我说的话,需要像读正则表达式一样。

InfoQ:长期关注你博客的人都知道,你一直致力于PHP推广工作,你个人也在国内最大的几家互联网公司工作过,能谈谈PHP在国内的发展状况吗?

惠新宸:之前在我的博客上,我也分享过一个数字,就是全球前100万的站点中,有超过70%的站点是使用PHP开发的。在我看来,PHP易学、易用、易扩展是它能如此流行的主要原因, 易学易用我就不多说,这里我想主要说一下PHP可扩展性。

PHP提供了一套很强大的扩展构建系统, 使用这套扩展构建系统,我们可以很方便的扩展PHP功能,在PECL扩展库中,目前已经有超过200个标准扩展。

我在2008年开始做PHP扩展时,互联网上几乎没什么相关的中文资料,而现在我们看到,网上资料非常丰富。 越来越多的开发者尝试通过扩展PHP来解决他们遇到的问题,而PHP的开源精神,又或多或少影响开发者把这些扩展开源给社区,这些正是我认为PHP可以长期发展下去的主要动力。

InfoQ:您是开源框架Yaf的作者,请简单介绍一下开源框架Yaf的特点。

惠新宸:长久以来,关于PHP要不要使用框架有很多争论,比较常见的矛盾点是,使用框架后,开发速度变快但性能得不到保证。

Yaf是为了解决这个矛盾点而开发的,它是一个用PHP扩展方式(C语言)实现PHP的MVC框架,它最大特点是高性能(相比于传统用PHP实现的框架),低资源消耗,同时又能保证快速开发。

Yaf主要提供了路由,分发,自动加载,插件机制,以及一个简单高性能的视图引擎, 这些功能是每个MVC框架必备的,又具有一定不易变性, 所以适合用扩展来实现。

InfoQ:关于Yaf框架,您下一步有什么开发计划?

惠新宸:我的观点是,Yaf未来应该朝做精做专的方向发展,比如Yaf 2.0与Yaf 1.0相比,并没有添加新功能,主要是架构重新设计和性能调优。 我不希望Yaf成为想要涵盖一切功能的”超大全”,我只希望它能为追求高性能的开发者提供一个简单高效及可扩展的工具,为”低碳”生活做做贡献。

另外,我想感谢喜欢Yaf的朋友们,Yaf目前在社区有很多使用者,这点是我最初发布Yaf的时候没有想到的,一些很热心的朋友为Yaf提供Windows下的发布,建立了使用者交流论坛、QQ群等,这些事情我有心但没有精力做,他们的热情是驱使我不断完善Yaf的动力,非常感谢这些朋友。

InfoQ:能否对Zend、Yii、CakePHP这几个PHP框架进行简单的优劣势分析?

惠新宸:这几个框架都是很优秀的PHP框架,我在以前的项目中使用过Zend和Yii, 但可惜没有机会用CakePHP, 说说我个人的理解吧。

Zend Framework是Zend公司开发的PHP开发框架,它设计精良,功能强大,有很广的使用者,文档齐全,社区也比较活跃。它的代码写得规范工整,非常适合PHP开发者去阅读和学习。缺点就是稍显臃肿,性能偏低。
我对Yii印象最深刻的是AR,在实际开发中非常方便, 并且提供了系统的自动生成工具,我个人非常喜欢Yii。 然而AR的缺点也很明显,资源占用很大,不适合大数据量应用。

InfoQ:请推荐三个您开发的PHP扩展,为什么您推荐这三个扩展?

惠新宸:我写扩展开源出来的就4个,按照时间顺序是Yaf,Lua,Taint,Couchbase。它们各自要解决的问题不同, 我简单介绍一下这几个扩展吧。

Yaf前面介绍过了,这里不再重复。

Lua是在PHP扩展中对Lua引擎的封装,支持在PHP中运行Lua脚本,并能与Lua脚本交换数据。
Taint是一个XSS,Sql&Shell injection检测扩展,它主要是为了弥补一些静态检测脚本不能覆盖到的点。

Couchbase是一个对Couchbase Client的封装,Couchbase Server是一个高性能高实时性的K-V数据库。
顺便提一下,我们新浪微博应用架构团队,还在为新浪微博开发一些扩展,这些扩展是为微博解决一些实际问题, 等这些扩展可用性和稳定性得到验证之后,我们会开源出来回馈社区的。

转载于:https://www.cnblogs.com/sunny5156/archive/2012/10/10/2719035.html

采访:新浪微博架构师兼首席PHP技术顾问惠新宸谈PHP的架构与发展相关推荐

  1. python爬虫架构师之路_一位资深 架构师大牛给予Java技术提升的学习路线建议

    一位资深 架构师大牛给予Java技术提升的学习路线建议 对于工作多年的程序员而言,日后的职业发展无非是继续专精技术.转型管理和晋升架构师三种选择. 架构师在一家公司有多重要.优秀架构师需要具备怎样的素 ...

  2. 【CSDN英雄会】 易宝支付架构师、移动产品线技术负责人程超:走在Java的路上

    英雄会是CSDN旗下针对国内IT技术领域专家展示和交流的平台.通过线下线上的互动形式,为CSDN社区专家提供更多学习.合作.宣传的机会.英雄会后续将在北上广深等国内一二线城市建立分会,各个分会后期将组 ...

  3. 分布式领域架构师要掌握的技术

    分布式系统无疑是持久的热门话题,但其实如果不是一定有必要,强烈建议不要进入分布式领域,在集中式的情况下很多问题都会简单不少,技术人员千万不要因为外界火热的例如微服务,就把自己的产品的也去做改造,一定要 ...

  4. 成长为一名Java架构师需要掌握的技术有哪些呢?

    Java架构师需要掌握的技术: 1.熟练使用各种框架,并知道它们实现的原理. 2.jvm虚拟机原理.调优,懂得jvm能让你写出性能更好的代码: 3.池技术,什么对象池,连接池,线程池--Java反射技 ...

  5. Java架构师大型互联网高级技术视频教程

    一.什么是架构师? 1.从内心讲我真的不想回答架构具体需要做什么,架构师应该具体负责什么.因为从实际情况看,在不同的系统层级,不同的需求下架构师的职责也会不同:从不同的技术角度看,架构师又是个变色龙- ...

  6. 史上最强Java架构师的13大技术能力讲解! | 附架构师能力图谱

    从程序员进阶成为架构师,并非一蹴而就,需要系统化.阶段性地学习,在实战项目中融会贯通,这如同打怪通关,我们得一关一关突破,每攻破一个关口,就能得到更精良的装备,技能值也随之不断增长,直至大获全胜. 凡 ...

  7. 转:架构师实践日|亿级短视频应用秒拍的架构实践

    转自: http://mp.weixin.qq.com/s?__biz=MjM5NzAwNDI4Mg==&mid=2652190131&idx=2&sn=6672422564e ...

  8. 腾讯云tca架构师认证题库内容全面吗?腾讯云tca架构师要具备哪些能力?

    现在科技的发展非常快速,有的时候已经到了让人难以相信的程度,比如大家当前比较关注的云计算领域,它的变化非常大,很多朋友都来没有弄明白是怎么一回事呢,但是这个市场发展的前景是非常好的,有很多朋友都想去参 ...

  9. 京东云首席架构师杨海明: 用技术实现数据价值

    京东云华东数据中心位于江苏省宿迁市湖滨新区,在地理位置和水电能源方面均有较大的优势.园区总占地面积达13万平方米,整体将由4个规模相当的云数据中心模块和1栋综合大楼组成. 今年三月份,位于江苏宿迁的京 ...

  10. 许式伟:毕业两年成为首席架构师,我的技术学习方法论

    作者 | 许式伟 编辑 | 高嵩 今天想和大家聊聊架构,和架构以外的二三事. 在过去的工作经历里,我看到不少架构师都倾向于把架构看作一项纯技术性的行为.他们的工作流程是这样的:产品经理根据用户的需求做 ...

最新文章

  1. 【开源】SpringBootNetty聊天室V1.2.0升级版本介绍
  2. NumPy-快速处理数据
  3. Linux下select, poll和epoll IO模型的详解
  4. 计算机系统结构专业是软件还是硬件,计算机体系结构中软硬件和架构设计有哪些机会?...
  5. Helpdesk 流程
  6. 网站域名检测是否被QQ/微信拦截工具
  7. css3 动画与display:none冲突的解决方案
  8. 20190612每日一句
  9. html 自动字体大小,根据屏幕大小自动修改字体大小的代码
  10. 60万餐厅数据为你画出全国美食地图(附技术讲解)
  11. 【未完成】7-7 新浪微博热门话题 (30 分)
  12. JavaScript插入DOM
  13. 测试人员只能点点点?深度剖析测试人员如何变得更优秀
  14. 【matlab小笔记】
  15. 大疆 芯片开发 面经
  16. Explaining Knowledge Graph Embedding via Latent Rule Learning
  17. 言语如何成为交互设计的基础
  18. 前端linux基础,这一篇就够了
  19. Linux 系统支持blacklist的kernel版本加载上海域格 CLM920 NC2 mdg 模块的驱动示例
  20. uni-app 全局变量globalData的使用

热门文章

  1. c语言 申请变量函数,C语言中变量和函数
  2. 基于 DirectShow 实现 SourceFilter 常见问题分析
  3. OMPL官方教程学习State Validity Checking
  4. 电商系统常用的产品颜色,尺码选择JS程序实现
  5. Katalon Recorder简介与使用
  6. 用小鸟云服务器搭建网站常用的伪静态设置规则
  7. 正则表达式,和python re模块
  8. CentOS7 分区合并
  9. python matplotlib 官方配色表
  10. python代码 练习3:空气质量查询工具