The Dutch PHP Conference is an annual web technology conference around PHP technology.

Thursday 25th June 2020

Getting the Most Out of PHPStan
Workshop by Ondřej Mirtes (3 hour)

PHP is nothing like compiled languages. If you make a mistake, the program will crash when the line of code with the mistake is executed. When testing a PHP application, whether manually or automatically, developers spend a lot of their time discovering mistakes that wouldn’t even compile in other languages, leaving less time for testing actual business logic. PHPStan is a popular static analyser focused on finding bugs in your code. By leveraging the strength of PHP type system further enhanced in PHPStan itself, developers can create robust applications and discover bugs early in the development process. The aid the tool provides during refactoring is also indispensable.

Efficient Domain-Driven Design with Event Storming
Workshop by Arne Blankerts (3 hour)

Event Storming is an emerging group modeling technique using sticky notes and verbal communication that is not only extremely efficient, but also easy to learn, and fun to do. This workshop introduces you to Event Storming with a strong focus on process design. Rather than talking a lot of theory, we will quickly dive into a group exercise and start modeling a real-life business problem.

A speed date with Alice and Bob
Workshop by Andreas Heigl (3 hour)

Alice and Bob are the protagonists of so many cryptographic tutorials. And at least for me those tutorials where most of the time very cryptic. But encryption and digital signatures are part of our everyday duties so wouldn't it be great to understand what we are doing there? At least to a certain extend? So let me take you on to a journey with Alice and Bob and have a look at what Cryptography is about(no deep-dive into the mathematics behind. Promise!). And along the way we will learn about trust and how to use that in everyday life like with E-Mail or Git.

Decoupling from infrastructure
Workshop by Matthias Noback (3 hour)

Most application code freely mixes domain logic with infrastructural concerns. Models are directly tied to the relational database of the project, use cases are inseparable from their web controllers, and external services are used without an appropriate abstraction. This limits your ability to design the application in a domain-driven, test-first way. What we need is a way to separate core code from infrastructure code. And that’s surprisingly easy. All the design patterns have already been invented for that. Until we run out of time, we’ll keep (re)discovering patterns like Application Service, Entity, Read Model, Domain event, Event subscriber, and so on. These patterns can be used to establish a testable, portable application core, with a focus on behavior, instead of data.

Friday 26th June 2020

Event Related by Cal Evans (15 minutes)

Opening of Dutch PHP Conference Online Edition by Cal Evans

09:45 What's new in PHP 7.4, and coming up in PHP 8
Talk by Derick Rethans (45 minutes)

During this presentation, we are going to look at the new features that were introduced in PHP 7.4. Join me to have a look at how the type system is strengthened with typed properties and co- and contra-variance of methods, what changes to operator precedence are, and which new features, such as pre-loading classes, are going to be introduced. At the end you will have a good understand about all the new and exciting features that are going to be part of the recent PHP 7.4 release. After we have looked at what you can already use, we'll have a preview of PHP 8, with its JIT, Union Types and other new features.

10:45 Serverless PHP applications with Bref
Talk by Matthieu Napoli (45 minutes)

Running PHP used to be as simple as copying files onto a shared host via FTP. What if we could get back to something that simple, but gain in security, performances and scalability as well? Let's see if serverless lives up to this promise! We will check out AWS Lambda and Bref, an open source solution for building serverless PHP applications.

11:45 Improving Application Performance with ReactPHP
Talk by Sergey Zhuk (45 minutes)

A lot has changed since PHP was used only for rendering web-pages. Now PHP is something more than a request-response cycle. The event-driven architecture and asynchronous I/O processing of any number of streams in real-time allow you to build a whole new category of applications!

13:00 My Top 10 PHPUnit Tips & Tricks
Talk by Juliette Reinders Folmer (45 minutes)

Of course you test your code... you may even use test driven development. But do those tests really add value ? Are your tests actually testing your code ? Or are they just there to satisfy the CI process ? In this talk Juliette will focus on all the things she's learned in years of writing and reviewing tests, the pitfalls she fell into, and the tips and tricks she learned along the way.

Top 10 PHP coding traps
Talk by Damien Seguy (45 minutes)

PHP has its own treasure chest of classic mistakes that surprises even the most seasoned expert : code that dies just by changing its namespace, strpos() that fails to find strings or arrays that changes without touching them. Do that get on your nerves too ? Let’s make a list of them, so we can always teach them to the new guys, spot them during code reviews and kick them out of our code once and for all. Come on, you’re not frightening us !

Events are forever… until they’re not.
Talk by Christopher Riley (45 minutes)

In 2018, when the GDPR first came into force, there was a lot of noise around it's interaction with event sourcing, with the main issue being found with the right to be forgotten. Traditional thinking on event sourcing is that you should never delete an event which puts it at odds with a requirement to delete personal data you no longer have a legal right to keep. In this talk we will explore the ways you can legally process personal information and the technological solutions you can use in an event sourced system to implement them.

Event Related by Cal Evans (15 minutes)

Closing of Dutch PHP Conference Online Edition by Cal Evans