欧宝娱乐app下载地址SymfonyWorld在线2021冬季版

2021年12月9日至10日

观看视频中的演讲

如果你参加了这次会议,观看回放关于会谈。
否则,你可以买票回放视频。

删除会

法比安效力

主题

使用Symfony Messenger和事件解耦应用程序欧宝娱乐app下载地址

雨果•蒙泰罗

随着时间的推移,Web应用程序变得越来越复杂。
我们从一个简单的应用程序开始,在此基础上创建一个业务。开始雇人,突然之间代码就不再使用相同的业务语言了。它变得更难改变。

有一些策略,如领域驱动设计(Domain Driven Design),展示了如何将业务规则放入代码中,并发布可由另一个服务异步使用的领域事件。

例如,当进行预订时,我们想要发送发票,对预订已确认的域事件作出反应。
通过将代码与域事件解耦,我们得到了Symfony Messenger的帮助。欧宝娱乐app下载地址

欧宝娱乐app下载地址Symfony messenger允许我们简化业务,允许发布和响应这些域事件,无论我们在哪里发布它们。我们甚至可以针对某些对业务和特定重试策略很重要的特定事件创建特定的警报。

数据验证模型

Marcin Czarnecki

在日常基础上,我们需要验证传入应用程序的数据。让我们看看使用不同的验证库(如Symfony validation或Webmozart Assert)会有什么不同。欧宝娱乐app下载地址
主要议题:
-语法验证和语义验证的区别是什么?
-什么时候我们可以使用延迟验证,而不是保持我们的对象始终有效?
哪些库可以帮助我们在应用程序中执行验证?

漏洞和安全往返

杰里米DERUSSE

Symf欧宝娱乐app下载地址ony核心团队投入了大量精力使框架和组件安全可靠。

但并不是所有的事情都在维护者的控制之下;在构建应用程序时,我们必须注意正确地使用库,升级依赖项,当然,还不能自己引入安全问题。

在这次演讲中,我们将看到几个安全问题的案例,分别是什么
影响,尤其是如何修复它们。

我们还花时间定义“升级”策略,以确保您的应用程序没有运行已公开的漏洞。

如何处理动态数据结构?

休伯特利诺

在应用程序中存储数据是一个重复的任务。但是,如果需要在不重新部署的情况下更改数据结构,会发生什么情况呢?例如:

-不同属性组合的电子商务产品
—用户配置的动态表单值
—监控服务的不同度量集

为了解决这个问题,我们可以使用(不受欢迎的)实体-属性-值数据模型。但是为什么有些开发人员认为它是反模式呢?让我们一起看看不同的PHP项目(如Sylius或Drupal)是如何解决这个问题的,以及Symfony是如何解决(当然它可以)相关的主要问题的。欧宝娱乐app下载地址

处理Symfony项目中的依赖问题欧宝娱乐app下载地址

丹尼斯Brumann

当Symfony应用欧宝娱乐app下载地址程序增长或维护多个重用代码的应用程序时,可能需要维护一些共享库和/或包。即使您不这样做,您也可能使用来自Symfony和php生态系统的包和库。欧宝娱乐app下载地址您很可能会遇到依赖关系问题,特别是现在使用PHP 8.1和Symfony 6时。欧宝娱乐app下载地址如何避免依赖关系阻碍你的升级?作为维护者,你能做些什么来确保你不会阻碍其他的?这不是一个简单的问题,但包装设计原则是一个很好的开始。

在这次演讲中,我们将讨论包设计原则,Symfony和其他流行的PHP包如何实现或偏离这些原则,以及它如何影响用户和维护者。欧宝娱乐app下载地址我们将看看PHP开源项目是如何处理阻塞它们的依赖关系的,并看看JS和NPM中一些著名的问题,以及我们可以从中学到什么。希望在最后,你将为升级自己的库、包和应用程序做好充分准备,并知道如何在未来自信地处理依赖关系问题。

欧宝娱乐app下载地址Symfony Notifier去神秘化

Jan Schadlich

自Symfony 5.3以来,Notifier组件被标记为稳定的,并且最近添加了许多桥。欧宝娱乐app下载地址

现在是仔细研究Symfony Notifier如何工作以及可以使用它做什么的好时机。欧宝娱乐app下载地址

让我们用Blackfire Player玩一个游戏

Marcin Czarnecki

如何改进应用程序的性能测试?最好的方法是将性能测试包含到CI管道中!根据GOG Store的例子,让我们来看看如何将Blackfire Player与Docker和Continuous Integration管道集成!

欧宝娱乐app下载地址Symfony组件和设计模式

Łukasz Chruś天蓝色

现在已经有很多Symfony组件了,欧宝娱乐app下载地址它们有一些非常棒的额外功能。但你见过他们的实际行动吗?

设计模式并不是万能的。他们永远不会自己解决你的问题。另一方面,设计模式为开发人员提供了一个公共基础,而无需深入细节,并且可以用作解决一些更高级问题的积木。

在我的演讲中,我将仔细研究并解释所选设计模式的应用。更重要的是,我将利用Symfony生态系统轻松实现它们。欧宝娱乐app下载地址

我将演示具有各种专业知识水平的开发人员都能理解的示例代码。

运行时组件:游戏规则改变者

托拜厄斯Nyholm

在Symf欧宝娱乐app下载地址ony 5.3中加入了一个新的运行时组件。它允许您的应用程序与全局状态分离运行。这意味着您的应用程序无需做任何更改就可以移植到许多不同的系统。

这不仅对Symfony,而且对所有PHP应用程序都是一个巨大的进步。欧宝娱乐app下载地址对于想要运行ReactPHP、Bref、Swoole等的用户来说,它尤其有用。

欧宝娱乐app下载地址Symfony BC承诺去神秘化

罗宾Chalas

使用Symfony的每个人都需欧宝娱乐app下载地址要在某些时候定制一个内置特性,或者是为了满足某些特定的业务需求,或者只是为了执行一些额外的任务。有时,这需要改变一些核心服务的连接方式,这通常会导致升级时出现摩擦。

你是否应该只是复制/粘贴功能代码,然后根据自己的需要进行修改?
幸运的是,没有。
大多数Sy欧宝娱乐app下载地址mfony特性的设计方式都允许以某种方式扩展它们,很少或没有紧密耦合。

在这次演讲中,我们将回顾为了正确地使用和扩展Symfony的代码应该考虑的因素,基于真实的例子和对向后兼容性承诺的深入研究,以及一些从维护者的角度提出的技巧。欧宝娱乐app下载地址

新的测试领域:Panther, Foundry等

瑞安·韦弗

欧宝娱乐app下载地址Symfony附带了许多用于测试的工具,如BrowserKit和DomCrawler,以及用于引导内核、访问服务和使用一堆内置断言的测试类。

但是,如果需要测试页面上的JavaScript,该怎么办呢?设置数据库的最佳方法是什么?你应该装载固定装置吗?在每次测试前清除数据?我如何并行运行我的测试?

在这次演讲中,我们将探索一套用于测试的新工具和清晰的模式(安排,行动,断言)。

数学、科学和《星际迷航》如何解释团队多样性的价值

弗雷德里克•米切尔

开源软件最大的资产是分叉和改进的能力。说到科技文化,我们是否接受所有的拉请求?我们能做得更好吗?

如果有,怎么做?为了科学!

本课程将探讨数学算法和科学研究,以描述不同团队的优势。我们将深入研究现有的研究和解决复杂问题的现实情况。我们还将探索一个数学家的理论,即“多样性胜过能力”。

我们还将探索《星际迷航》是如何在成为这一概念的寓言中发挥关键作用的。

与会者将获得具体的想法、例子和流程,希望能够在长期内提高团队的产出。

关于Symfony 6的一切欧宝娱乐app下载地址

尼古拉斯Grekas

欧宝娱乐app下载地址Symfony 6是社区2年努力工作的结晶。欧宝下载链接它嵌入了Symfony 5开发期间添加的所有新特性,但同时也删除了同一时期弃用的所有特性。欧宝娱乐app下载地址由于PHP 8.0是受支持的最低版本,Symfony 6也提供了拥抱新语言特性的机会。欧宝娱乐app下载地址

让我们回顾一下我们一起做过的事。想知道主要的新功能吗?我们如何使代码库现代化?如果S欧宝娱乐app下载地址ymfony还在这里?这就是这次会议要告诉你们的。

使用Symfony构建SaaS产品:提示和技巧欧宝娱乐app下载地址

Titouan Galopin

在构建软件即服务产品的几年经验之后,我想与您分享关于如何在专注于您的业务的同时构建技术上有效的平台的重要和不那么重要的技巧。我们将讨论如何构建优秀的订阅机制,如何利用EasyAdmin,为什么以及如何依赖其他平台(Stripe, Sentry, SymfonyCloud),最后如何规划软件架构以实现增长。欧宝娱乐app下载地址欧宝体育应用最新版app下载

使用Symfony 6中的SecurityBundle欧宝娱乐app下载地址

沃特·德容

在过去的两年里,Symfony Security发生了很多变化。欧宝娱乐app下载地址虽然主要概念是相同的,但功能已经改变,删除或引入。

我将分享我个人使用Symfony 6中所有新安全功能的“最佳实践”。欧宝娱乐app下载地址我们可能会发现一些隐藏的新功能,可以帮助您定制安全性以满足您的需求。在演讲结束时,您将准备好使用Symfony 6维护和设置完全安全的应用程序!欧宝娱乐app下载地址

用于升级Symfony应用程序的工具欧宝娱乐app下载地址

马尔特•温斯迟

Malte的网络机构24年前就开始开发网络应用程序,过去10年一直在使用Symfony。欧宝娱乐app下载地址几十个这样的应用程序仍在运行,并且每年都在进一步开发。您可以想象有很多遗留代码,并且随着每一个新的Symfony版本、每一个新的PHP版本、不断增长的开发人员经验和新的开发实践而不断增长。欧宝娱乐app下载地址

如果你像Malte一样,既不想让这些遗留代码发霉,也不想手动更新它,那么可以看看他用于升级Symfony应用程序的2021工具箱:用于代码样式、特性确定、依赖关系管理、批处理替换、静态分析的工具,甚至还有用于小版本和大版本Symfony的半自动升级。欧宝娱乐app下载地址

欧宝娱乐app下载地址Symfony窗体:高级用例

亚历山大·莎乐美

Symf欧宝娱乐app下载地址ony Form组件提供了许多开箱即用的特性。它覆盖了80%
用例,但是如何处理剩下的20%呢?如果你读过
欧宝体育电话文档,你们可能知道怎么用。但你知道这是怎么回事吗?

要在Symfony Form上实现业务,您必须知道它是如何工作的欧宝娱乐app下载地址
在引擎盖下,以及如何扩展它。我将说明这些潜在的因素
通过一系列标准用例的概念:

-列出可分类的物品清单;
-根据用户权限隐藏或禁用字段;
-(更多,将在会议期间发现)。

这个演示将让您深入了解表单内部的工作原理
组件,以及如何钩入它。

我的刺激下来了,让我们逃离面向服务架构的地狱

克莱门特贝迪永

从前,面向服务的体系结构。有一天,前端出现了一个问题,但没有人知道是哪个服务破坏了调用序列。

在这次谈话中,一个内部人员以Blackfire为主要武器,将展示他如何在大量的请求和服务中幸存下来。这样可以防止他的产量下降太久

在Symfony中与Twig合作“提示和技欧宝娱乐app下载地址巧”

威廉Pinaud

Twig确实与Symfony联系在一起,但在在线会议上欧宝娱乐app下载地址很少有人喜欢它。

⚡️然而,它在许多方面都非常强大和有用,可以节省源代码编写,实现常见的算法操作等。

这次演讲讲述了关于Twig的一些有趣的事情:
Twig / Symf欧宝娱乐app下载地址ony桥
使用的良好实践(SEO,性能,目录体系结构,表单等)
一般信息,如编码标准,转义,哲学等。
如何扩展树枝,为什么你需要做这样的事情
你可能从未想过的聪明伎俩
高级功能(缓存,翻译等)的用法和REX
现实生活中的例子,通过OROCommerce, Sylius, Drupal, Symfony UX等。欧宝娱乐app下载地址

让我们向我们最喜欢的模板引擎表达一些爱吧!

从大泥球到干净的建筑与Symfony欧宝娱乐app下载地址

罗兰多卡尔达斯

当然,这个故事听起来很熟悉:您有一个使用Symfony开发的应用程序,它利用了所有允许您快速开发的东西:树枝、Doctrine、Form、断言、注释、Symfony欧宝娱乐app下载地址事件、防火墙、安全性等。

应用程序发展得太快了,有一天你会发现自己的应用程序中有重复的实体,这些实体除了混乱之外没有任何贡献,太强大的表单,甚至连创建者都不理解的魔法……没有测试(房间里的大象)…

那我们该怎么办?“让我们重新开始,现在我们会做对的”!结果呢?多个应用程序(尽可能多的新尝试使其正确),都具有复制的功能…所有的“错误”。

你已经听说过关于TDD、DDD、CQRS、六边形架构、洋葱架构……丰富的领域模型,这对你来说很清楚:这是你的救赎。我们重新开始好吗?如果你还没有吸取教训…您不必从头开始,就可以将您的大泥球演化为干净的体系结构。

在这次演讲中,我们将讨论如何将Symfony作为开发产品的框架来面对问题:欧宝娱乐app下载地址

-我们之前做了什么决定,为什么…无论是代码还是团队的组织和工作。
-我们依靠哪些组件开始考虑清洁和弃泥。
-我们如何面对贫血实体耦合到Symfony和Doctrine到丰富领域模型的转变。欧宝娱乐app下载地址
-我们如何进行测试。
-我们认为这是过程的一部分,为什么我们不在乎。

欧宝娱乐app下载地址Symfony和Docker:令人耳目一新的体验

凯文Dunglas

最近,Symfony Flex中添加了Docker和Docker Compose的新配置器。欧宝娱乐app下载地址
这意味着Symfony现在可以透欧宝娱乐app下载地址明地添加您首选包所需的服务和PHP扩展!

您想使用Doctrine ORM?所以你需要一个数据库和相关的PDO扩展!我们会帮你的。
你用邮筒?所以您希望在开发环境中使用MailCatcher ?我们开始吧。
你想要黑豹?所以你需要Chrome和ChromeDriver!没问题!

但还有更多:我们现在为您提供利用这些新功能的Docker框架,您可以在本地使用,也可以在您的CI系统和生产中使用!

静态代码分析:我是如何爱上这个工具的

亚历山大·图雷克

一年前,我接管了一个遗留的代码库,没有任何测试和完整的错误跟踪器。我和我的团队没有什么可失去的,作为一个实验,我们引入了一个静态代码分析工具。虽然这让我们的处境看起来比以前更加可怕,但我们从未回头。

让我们来探索静态代码分析器可以为您做些什么。哪些问题需要解决?我如何帮助工具理解我的代码?更重要的是:我们什么时候可以忽略工具给出的建议?

TDD的好处

迭戈•阿吉亚尔

这个演讲的重点是那些从测试驱动开发(TDD)开始的人。我们将从解释TDD真正是什么开始,接着我们将演示“保龄球游戏型”。这是一种非常有趣的形,即应用TDD技术一步一步地开发游戏,直到实现游戏的所有要求。然后,我们将讨论在开发应用程序时应用TDD的好处。

让你的传统网站的“单页应用程序”感觉与涡轮

瑞安·韦弗

构建“单页应用程序”(SPA)最大的吸引力之一是无需刷新整个页面,为用户提供快速响应的体验。而且,直到最近,你似乎需要在“响应式SPA”*或“传统”应用程序之间做出选择……它们的构建通常要简单得多。

但是…那是谎言!多亏了Turbo,我们现在可以构建传统的返回HTML *和*具有“无刷新”SPA体验的应用程序。

在这次演讲中,我们将看看如何将现有的应用程序增量地转换为涡轮驱动的应用程序,而不需要刷新整个页面。这包括如何编写JavaScript,清除Turbo“预览”和其他陷阱的技巧。

我们还将获得Turbo帧和*超级*酷的Turbo流的入门知识,它允许您(与Mercure)实时更新任何用户页面的任何部分!

所以让我们去创造一个传统的应用程序,给我们的用户他们应得的快速体验!

赞助商

钻石赞助商

SensioLabs的Logo

白金赞助商

Blackfire.io的Logo
Platform.sh Logo

黄金赞助商

公路冲浪者标志

银赞助商

JetBrains的标志
BindHQ的Logo

欧宝下载链接社区的赞助商

Les-Tilleuls.coop的标志

你错过SymfonyWor欧宝娱乐app下载地址ld Online 2021冬季版了吗?

加入我们即将到来的会议!

欧宝娱乐app下载地址SymfonyLive巴黎2023

巴黎/法国2023年3月23日至24日 讲座用法语进行

欧宝娱乐app下载地址SymfonyOnline 2023年6月

在线2023年6月15日至16日 讲座用英语进行

欧宝娱乐app下载地址2023年布鲁塞尔SymfonyCon

布鲁塞尔/比利时2023年12月7日至8日 讲座用英语进行