PHPNW14:回顾
一年一度的 PHPNW 会议现已进入第 7 年,于 10 月 4 日和 5 日在曼彻斯特再次在曼切斯特会议中心举行。来自世界各地的 400 多人和 30 多位演讲者参加了会议,他们谈论了从项目管理到 PHP 内部的所有内容。我已经在 PHPNW 做志愿者几年了,但今年我能够作为代表与来自 Access 的许多同事一起参加。活动已经过去了几个星期,但我还没有机会发表这篇评论,所以就在这里。
周六
在 Jeremy Coates 进行快速介绍后,我们开始了主题演讲:PHP 如何与 Anthony Ferrara 改变编程世界。Anthony 从一些关于 PHP 的事实开始,比如 PHP 运行着 82% 的互联网。有趣的是,PHP 明年 20 岁,实际上早于 HTTP 标准。演讲的主题是如何在如此庞大的社区中维持健康的生态系统。PHP 有很多对这项技术充满热情的人,但它也有很多巨魔。重要的是要了解差异并拥抱热情而不是喂食巨魔的人。
PHP 中存在大量向后兼容性问题的最后一个重大更改是使用 PHP5。让 PHP 社区采用 PHP5 起初有点困难,只有少数主机愿意(或能够)支持它,即使在它可用数月之后也是如此。只有通过 GoPHP5 活动,支持才开始增长。GoPHP5 活动是多个 CMS 和系统创建者的合作,他们决定专门为 PHP5 构建下一个版本的系统。在社区开始这样做之后,主机开始注意到并且对 PHP5 的支持迅速增加。这是 PHP 社区联合起来在全球范围内实现变革的一个例子。
Anthony 还表示,社区发生的最糟糕的事情之一就是将其分叉到两个不同的项目中。他确实说过,这并不总是会产生不利影响,因为像 Joomla!、Jenkins 和 Libre Office 这样的项目都来自与原始项目分离并因此变得更好的项目。
在谈论项目改变时,安东尼谈到 Drupal 8 如何主要使用来自 Symfony 和其他一些项目的组件重写大部分代码。重要的是 Drupal 开发人员一直在参加 Symfony 会议,反之亦然,这导致了社区的交叉协作。合作意味着技能和代码已从 Drupal 开发人员提交回 Symfony。我的大部分开发时间都花在了 Drupal 上,而且我一直很感兴趣地关注 Drupal 8 的开发,所以看到它在社区和技术方面以这种方式受到赞扬是件好事。
谈话中也有不小的争议。在谈论社区和互联网上使用的重要技术时,安东尼放了一张包含“WordPress”一词的幻灯片,这引起了人群中的一阵笑声。当时我没有多想,但问题是人群中有一些 WordPress 开发人员对响应感到失望。我完全理解为什么他们会感到失望,因为您花时间研究的任何系统都可能成为挚爱。在 PHPNW 会议上让任何人感到不受欢迎是一种耻辱,但在会议结束时,他们肯定会感到受欢迎。出席的 WordPress 开发人员甚至获得了在其他活动和聚会上发言的机会。
接下来是 Rob Allen,他谈到了一种名为 Apigility 的工具。这是一个工具,允许您创建 API,而无需编写大量样板代码来处理请求和格式。在 API 中正确获取所有辅助细节可能很困难,而 Apigility 旨在简化此过程。
Apigility 的管理后端允许您创建端点,然后您可以修改和自定义这些端点以满足您的应用程序的需求。管理区域的有趣之处在于它实际上是一个 JavaScript 应用程序,它调用使用 Apigility 编写的 API。Apigility 的好处是它还可以创建文档,这可能是开发 API 中最难的部分。该工具看起来非常有前途,我将在未来的一些项目中再次研究它。
在短暂的咖啡休息后,我和 Stephan Hochdörfer 一起去看了 Composer for Corporate Use。这是关于在开发团队中使用 Composer 的一些策略,包括如何构建自己的包、可用的工具以及如何测试它们。Stephan 显然对这个主题了如指掌,而这些知识是从日常执行这些任务的经验中获得的。
午餐后,由曼彻斯特会议中心提供(非常好吃),休息了一会儿,我和 Derick Rethans 一起进入调试:过去、现在和未来。这是通过一些前端漂亮的打印工具,使用 Xdebug 进行实时调试以及在下一版本 Xdebug 中出现的一些新功能的导览。Derick 带我们了解了他正在开发的名为 Vld 的工具,该工具显示了函数中可用的所有可能的执行路径。这意味着在进行测试驱动开发时,代码覆盖率将更加真实,因为它显示了所有可能的执行路径,而不仅仅是执行的代码。
谈话中真正有趣的是 Xdebug 的一些未来计划,其中包括通过代码执行来回回溯的能力。通过将应用程序的完整跟踪记录到文件中,然后将其输入到 IDE 中,以便允许代码向后和向前运行,以查看代码如何运行,可以促进这一点。
接下来是 Web Frontend,API Backend,由 Lorna Mitchell 提出,它着眼于创建 API 层然后构建 Web 前端并通过调用此 API 后端来工作的技术。多年来,我曾一两次听说过这种做法,但很想看看它在专业环境中的表现。构建这样的网站确实增加了一点复杂性,但回报是值得的。主要的好处是可扩展性,因为多个前端 Web 节点可以插入同一个后端,从而可以轻松扩展前端。后端还可用于构建其他内容,例如移动应用程序和其他 API 相关工具。将 API 构建为具有正确标头和身份验证系统的完全成熟的 API 很重要,因为从长远来看,这会使事情变得更容易。
对于这样的系统,只要 HTTP 请求在基础设施中是相同的,它们就不会造成任何瓶颈。前端的缓存也有助于提高应用程序的速度。前端应用程序不必用 PHP 构建,它可以是纯 JavaScript 并且仍然以相同的方式运行。这是与一位知情的主持人进行的友好、轻松的谈话,他已经实施了几次该系统架构并且完全了解该系统的功能。
在去见 Pablo Godel 谈论现代开发者工具箱之前,又是一个短暂的休息时间。巴勃罗花了大约 10 分钟左右的时间谈论如何不做事,试图展示什么是现代的,这似乎有点落后。在查看了像 MAMP 这样的本地开发环境后,他很快就找到了像 Vagrant 这样的有用工具。Pablo 还谈到了 Xdebug 和 Docker 等工具,然后再谈到其他一些 DevOps 工具,如 Logstash 和 statsd。总的来说,这里有一些很好的工具,但是提到的太多,而且没有足够的细节。也就是说,我有一些我没有听说过的有趣的工具,我需要查找。
一天的会谈结束后,是时候在很棒的免费酒吧参加社交活动来放松一下了。我和 Access(我工作的公司)的其他几位同事一起来,所以我们晚上都在与其他开发人员聊天,试用照相亭,并就如何整合我们拥有的一些东西进行了长时间的讨论在我们的日常工作中可以看到。
星期日
周日的第一场演讲是 PHP:Under The Hood,与 Davey Shafik。这是周日早上的第一件事,第一件事是复杂的谈话,尤其是在晚上喝酒不睡觉之后,但戴维讲得很好。他首先详细介绍了他所谓的性能循环,您可以在其中进行基准测试,然后在进行更改之前对应用程序进行概要分析,然后再次进行基准测试,这是找出瓶颈所在并解决它们的好方法。最有可能导致速度变慢的原因仅仅是糟糕的代码,因此 Davey 带我们调查了几个代码块,以展示它们是如何在 PHP 引擎中解析和运行的。他使用 Vulcan 逻辑转储来展示代码的不同部分是如何解析的,以及可以在哪些方面进行速度改进。
Right after Davey was Michael Heap with Bring Your Application into 2014. This was a session that involved taking a single PHP file that contained database code and HTML and extracted the needed parts into different files to create a much more maintainable system. In this way he showed how to refactor code whilst still making sure that it produces the same output on the front end. This makes sure that the end result still works as expected and that improvements can then be made from that point onwards.
会议的倒数第二次演讲是 Anthony Ferrara,他在 PHPNW14 上发表了他的第二次演讲,高性能 PHP。这开始是为了查看 PHP 中的一小段代码以及它们是如何被内部引擎编译和运行的。这是对 PHP 如何实际运行代码的非常详细的分析,并转向了对编译器如何工作的更一般的了解。然后,他展示了 PHP 编译器和 HHVM 之类的东西如何适应这些编译器模型,然后展示了他一直在编写的名为 Recki-CT 的编译器。Anthony 展示了如何使用这些自定义编译器可以获得性能优势,但不支持某些代码(如闭包)。
会议的最后一次演讲和闭幕主题演讲是 Volker Dusch 与您的里程应该有所不同。这是会议中最鼓舞人心的演讲之一,让会议室里的每个人都鼓掌了好几次。他的主要信息是编程不只是关于代码,而是关于所涉及的人。
结论
PHNW14 一如既往的好,今年没有参与会议的组织意味着我可以比平时更加放松和交流。我和 Access 的几个人一起去了,他们都说这是一次很棒的会议,他们都学到了很多东西。每年我都倾向于在 PHPNW 上看到一个主题发展,所以去年是关于虚拟化的,今年 Vagrant 是关于社区的。拥有所有这些平台、系统和工具固然很好,但真正赋予系统价值的是围绕每个平台、系统和工具的社区。作为一名 Drupal 开发人员,我亲眼目睹了这种社区精神,所以很高兴看到整个 PHP 世界都这样做。PHP 社区实际上是在 WordPress、Magento、Drupal 和 Synfony 等平台上工作的开发人员社区,
一些随意的想法:
总是有很多东西需要学习。
我需要参加更多的非会议会谈。
迈克贝尔是我认识的最勇敢的人之一。
完美是更好的敌人。
社区很重要。
编程是关于人的。
Rob Allen 拍了一些很棒的照片,其中一些我在这里使用过(看看他的 Flickr 帐户)。
非常感谢 PHPNW 幕后的每个人以及所有促成此事的赞助商。我知道有一些人明年肯定会再去。PHPNW15 见!
以上是 PHPNW14:回顾 的全部内容, 来源链接: utcz.com/z/359151.html