PHPNW 2016

第 9 届 PHPNW 于 2016 年 10 月 1 日和 2 日举行,我参加了大约 400 人。场地是曼彻斯特会议中心,这是过去几年举办的活动。这是一个不错的地方,有乐于助人和友好的工作人员、很多房间、美味的食物,甚至还有一个不错的酒吧。在组织者 Jeremy Coates 和 Rick Ogden 的快速介绍和白金赞助商 UKFast 的一次会议之后,我们正式开始了会议。

开幕主题演讲来自 Ben Marks,他谈到了一个没有 PHP 的世界. 他回顾了自己的职业生涯,基本上是因为 PHP,他从经营酒吧变成了 Web 开发。他谈到了一些对网络产生重大影响的基于 PHP 的大型网站(如雅虎、Facebook、维基百科和许多其他网站),并谈到了完全没有这些网站,或者说没有 PHP,网络将如何变得不同。Ben 是 Magento 的贡献者,因此他还谈到了由于 PHP 而产生的各种开源框架和社区也如何改变了互联网。今天,仅通过 Magento 网站就有 500 亿美元,因此很明显看到对互联网以外事物的影响以及人们依靠它获得收入。如果没有 PHP,互联网可能会是一个不同的地方,但重要的是要考虑 PHP 社区对年轻人和新手的看法。

接下来是与 Michelangelo van Dam 一起使用 PHP 7 弄脏手。这是对 PHP 5.6 和 PHP 7 之间发生变化的内容以及在版本之间升级时需要注意的内容的浏览。这里有许多很好的提示,包括可能导致运行 PHP7 的 PHP5 应用程序出现意外错误的新功能。

短暂休息后,我去看了 Rob Allen 谈论Slim: The PHP Micro Framework。虽然我经常使用 Drupal,但我总是使用微框架来做一些不适合像 Drupal 这样的大型框架的简单项目,所以看到像 Slim 这样简洁的小框架如何在幕后工作对我来说很有趣。Rob 向我们介绍了在 Slim 开发过程中做出的一些决定,以及它们如何影响框架的使用。这是对框架的一个很好的介绍,尽管 PHPNW 只是几周前的事,但我已经在项目中采用了 Slim。

在吃了一顿丰盛的鱼午餐(在那里我认识了一些新朋友)之后,我去看了一个关于OWASP 2016 年 10 大主动控制的演讲,来自凯蒂安东。这不仅仅是标准的“请提高安全性”的谈话,而且实际上给出了一些关于如何解决互联网上一些最普遍的安全问题的现实世界的例子。真正有趣的是二次 SQL 注入攻击的概念。这是注入攻击向量不会导致初始问题的地方,而是被插入到数据库中并进一步导致问题。当此值从数据库中提取并用于应用程序的其他部分时,它可以用作辅助攻击向量。我以前从未见过这种方法,但它显示了对所有输入进行消毒的重要性,无论它们来自何处。

在此之后,我去看了 Dan Ackroyd 提供的Interface Segregation - The Forgotten I in SOLID。这是一个非常好的谈话,有一些优秀的代码示例和一些非常好的笑话(不仅仅是关于胡须的笑话)。我从这次演讲中学到了一些关于如何设置界面的课程,并且我已经在我的一些工作中使用了这些原则。Dan 能够以一种非常清晰的方式传达一些复杂和抽象的概念,并展示了如何使用接口使代码更具可重用性和可测试性。

当天的最后一次演讲来自 Derick Rethans 和他的演讲It's All About The Jumps。这是对 PHP 的一些内部工作原理以及代码如何标记和执行以及这种执行在 PHP7 中如何变化的浏览。当他在 PHPNW 演讲时,我通常会尝试参加 Derick 的演讲,他以他一贯的出色状态讨论了一些非常复杂的主题并使它们看起来很容易。

在当天的最后闭幕词之后,我们在周六晚上的社交活动中享用了食物和饮料。今年的食物以各种免费供应商的形式出现,提供鱼和薯条、汉堡、糖果和棉花糖以及一个免费酒吧。这是向会议代表分发食物和饮料的一种非常独特的方式,我发现一切都非常有趣(更不用说美味了)。我花了一个晚上与一群开发人员聊天,讨论我们那天看到的东西以及我们将带回工作中的东西。

第二天早上,我从行为驱动开发和 Behat:与 Matt Brunt 一起通过代码讲故事开始了新的一天。这涉及从用户测试的角度看 Behat,以及什么是好的测试或坏的测试。在过去的几年里,我看过一些 Behat 演讲,这是我见过的最好的演讲之一。一种有用的技术(实际上我最近一直在努力)是转换的概念。这是您在测试中输入类别或产品名称的地方,要素类会将其转换为正确的 ID。我肯定会在未来的项目中使用的东西。

接下来是 Stefan Koopmanschap,他的演讲名为Level Up Your Team。这是一次精彩的演讲,涵盖了运行和培训开发团队的许多人为方面。很高兴听到我自己已经涵盖了其中的许多。这从培训(正式和非正式)以及不同的技术开始,以充分利用开发人员团队。我从这次演讲中记下了几页笔记,并在过去几周一直与我的工作团队讨论这些方面。Stefan 显然在管理开发团队方面拥有丰富的经验,并且知道如何充分利用他的团队。

会议的倒数第二个演讲是Decouple Your Framework Now,Thank Me Later with Michelangelo van Dam,这是他在会议上的第二个演讲。这是一个更高层次的讨论,关于 Michelangelo 在升级基于框架的项目时如何遇到某些问题,以及如何避免将来出现如此紧密耦合的类。基本思想是他创建了他需要的应用程序逻辑,然后在这个逻辑和框架的基本部分之间建立了一座桥梁。他用他创建的与 Symfony 集成的示例应用程序演示了这一点。Michelangelo 还谈到了一个名为 deptrac 的工具,它可以显示依赖项在您的代码库中的位置。

周末的最后一次会议是与 Gary Hockin 一起使用开源获得乐趣和利润。Gary 带领我们完成了他作为开发人员的旅程,从他在 Port Talbot 开始使用电子表格(和玩游戏)到成为一名成功的开发人员以及国际演讲者、贡献者和导师。这是一个引人入胜、有趣且感人的演讲,触及了我在自己身上看到的作为开发人员的许多方面。对于闭幕主题演讲来说,这是一次非常鼓舞人心且完美的乐观体验。

我从 2008 年第一个 PHPNW 开始就一直在学习,学到了很多东西,一路上遇到了一些非常了不起的人。我确信参加这些会议使我成为一个更好的开发人员。接触当前的技术和最佳实践非常有益,我已经很期待明年的会议。

另外,感谢 Michelangelo van Dam 和 Rob Allen 拍摄了我在这篇文章中使用的一些很棒的照片。