• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

[Modern PHP] 第三章 基准

php 搞代码 3年前 (2022-01-24) 20次浏览 已收录 0个评论

[Modern PHP] 第三章 标准

PHP组件和框架的数量多的让人难以置信。有像Symfony和Laravel这样的巨型框架,也有像Silex和Slim这样的微型框架。甚至还有些在现代PHP组件出现之前就存在很久的传统框架,例如CodeIgniter。现代PHP生态系统是一个名副其实的代码大熔炉,这有助于开发者们构造令人惊奇的应用。


、本文来源gao($daima.com搞@代@#码$网搞gaodaima代码

不幸的是,那些老的PHP框架都是在相对封闭的环境下开发出来的,它们没法与其他的PHP框架共享代码。如果你的项目使用某个老的PHP框架,你会牢牢被困在框架之中,陷入框架自身的生态系统而不能自拔。如果你对框架本身提供的工具还算满意,那么这种相对集中的环境倒也没有什么问题。但是,如果使用了CodeIgniter框架的同时还想从Symfony框架中挑选几个优秀的类库来使用,那你可能就没有那么幸运了,除非你自己专门为你的项目写个一次性的适配器。


what we’ve got here is a failure to communicate(在这里我们完全无法沟通)

–电影铁窗喋血的经典台词


看到问题所在了吗?封闭的环境中开发出来的框架它们的设计初衷就不是为了和其它框架进行互通。无论是对开发者来说(被所选择的框架限制了创造力)还是对框架自身(他们重复开发着某些已经存在的代码)来说,这种设计方式是非常低效的。尽管如此,我还是有好消息要告诉大家。PHP社区对框架的认识已经从集中式框架模型过渡到了由高效、公用、专一的组件构成的分布式生态系统。


PHP-FIG的营救计划


一些PHP框架的开发者们意识到这个问题,于是他们在2009年的php|tek(著名的PHP会议)上进行了讨论。讨论的核心是如何提升框架内部的互通性和开发效率。譬如,如果某个PHP框架可以分享出一个monolog这样的非耦合的日志类,那么我们是不是就不用每次都去开发一个新的紧耦合的日志记录类了?如果某个PHP框架可以使用Symfony框架的symfon/httpfoundation组件中的优秀的HTTP request和response类,那么我们是不是就不需要开发自己的HTTP request和response类了?为了实现这个目标,PHP框架需要使用某种通用的语言来实现交互以及分享它们的框架。而它们需要的就是标准


这些在php|tek会议上偶遇的PHP框架的开发者们最终创建了PHP Framwork Interop Group(PHP-FIG)。PHP-FIG就是由一群PHP框架项目的代表组成的,按照PHP-FIG的官方网站的说法,他们的职责就是“讨论各自项目的共性从而找到可以协同工作的方式”。PHP-FIG制定了一些推荐(recommendations),PHP的框架可以自愿选择是否实现这些recommendations以提高交互性并共享各自的框架。


PHP-FIG是一群PHP框架项目的代表自创的组织。它的会员并不是通过选举产生的,除了满怀着发展PHP社区的意愿外这些会员并没有什么特别之处。任何人都可以申请会员资格。任何人都可以对处于提议阶段的PHP-FIG recommendations提交自己的反馈。最终的PHP-FIG recommendations通常被采纳并被许多最大最流行的PHP框架实现。我非常鼓励你参与到PHP-FIG之中,你只要做到发送你的反馈、帮助你最喜爱的PHP框架一起打造未来。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:[Modern PHP] 第三章 基准

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址