Community and Conference Videos

Lorna Mitchell – Working with webhooks
In an increasingly connected world, APIs are key to great tools and effective workflows.

What is better than an API? A webhook of course! Webhooks are a key building block of a modern application, allowing systems to exchange data in response to events.

This session covers the basic theory of webhooks and shows some examples of how to handle them in your own applications. We'll also talk about when webhooks are a helpful design choice, and some pitfalls to look out for when you're working with them!

This session is recommended for anyone interested in teaching their applications to play nicely with others.
Chris Riley – Nuclear powered software security
It seems to be almost a weekly occurrence that another company makes the news headlines for being hacked and in the process disclosing sensitive user data and company secrets. These security meltdowns can cause catastrophic effects to the company in lost user trust and huge costs putting things right.

A nuclear power plant is considered one of the most dangerous things mankind has built, yet they very rarely go wrong. The systems engineering that goes into making nuclear power plants safe is a fascinating topic to study but on the surface it seems entirely irrelevant to PHP developers.

In this talk I'm going to show you how this level of safety is achieved, what happens when it goes wrong and then see what lessons we, as PHP developers, can learn from it to help us secure our applications from meltdown.
Kat Zień – Get GOing with a new language
Learning more than one programming language is key to becoming a better developer. It is like adding a new tool to your toolbox. The more tools you have, the easier and quicker you’ll be able to tackle whatever job you need to do. You’ll also be able to use the right tool for the job, and who doesn’t like that?!

I picked up Go a few years ago as it was becoming more popular among developers. Coming from a PHP background, I had no idea what channels or goroutines were or how is concurrency different from parallelism. I’ve got to say, it was a whole new world. Very different, but very cool. I was hooked!

By happy coincidence, my company was looking to rewrite a legacy PHP app in Go. It was over 2000 lines of procedural and messy PHP4 with more downtime than I’m willing to admit to. I took on this project, and soon enough we had a much faster, more maintainable and much more reliable app for our customers. Go gave us options we would not have in PHP.

The goal of this talk is to give you a good idea of what Go is and how it compares with PHP. We’ll look at the language itself as well as the tooling and communities around it. Even if you’re not sold on Go by the end of it, I hope you’ll leave inspired to go out there and learn whatever language you wanted to look into next.
Matthieu Napoli – Serverless PHP applications with Bref
Running PHP used to be as simple as copying the files onto a shared host via FTP. What if we could get back to something that simple, but gain in security, performance 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.
Enrico Zimuel – Develop microservices in PHP
In this talk I'll present how to develop microservices in PHP using Expressive framework + Swoole extension, to run PHP as HTTP server from the command line.

Moreover, I'll present how to monitor and logging microservices using Elasticsearch and Kibana, part of the ELK stack.
Théo Fidry – Mutation Testing – Better code by making bugs
Do you test your code? What about your tests? Your tests are code, you need to write, refactor and maintain them.

How do you know you added enough tests to capture the behaviour of an untested application in order to refactor it safely?

Discover Mutation Testing, a fun tool to make your code better by introducing bugs.
Nikita Popov – PHP Performance Trivia
This talk discusses various issues of low-level PHP performance, such as: When is it more efficient to use arrays or objects? What causes catastrophic garbage collection? Does adding type annotations make PHP faster or slower?

I will answer these types of question with a (shallow) dive into PHP internals, touching on various topics like value representation, bytecode optimization and GC.
Sam Bellen – Knock knock, who's there? Authenticating your single page apps using JSON Web Tokens
When it comes to writing code, there’s nothing we take more serious than authentication and security. Modern single page applications bring along new challenges. By using solutions like the OpenID Connect protocol and JSON Web Tokens we can improve the user experience when authenticating with your apps, providing a seamless authentication process.

In this talk I will try to explain in depth, the way JSON Web Tokens work and can be used to secure your single page apps. I will explain the difference between using opaque tokens and JWTs. The talks will also give an overview of a modern authentication flow and a step by step breakdown of how it works exactly. No specific previous knowledge is required, but it helps the audience has some experience with authenticating users.
Marco Pivetta – From helpers to middleware
Over the past decade, we've seen frameworks bloom, die, be replaced and re-born. We've seen good practices, anti-patterns and generally styles of coding come and go. What's the takeaway from the last decade of framework development? Where are we going? What should we explore next?

We'll look at a brief history of frameworks, at which practices emerged from the various communities, and which of them survived and evolved, as well as recommendations to keep pushing forward.
Derick Rethans – It's all about the GOTO
Don't worry, this is not about the goto keyword.

In this presentation, I am showing you some of the inner workings of PHP. We are going to look at how different language keywords and constructs are handled internally. Basically, everything is converted to goto, but the how and why, is not as simple as it seems! We'll also have a look at what sort of optimisations opcache does to make your code run faster.

This is a very in depth talk, mostly interesting to people that want to know how PHP works internally. Expect lots of wonkyness, a form of assembly, and trees.
Anthony Ferrara – Microservices Gone Wrong
Is it a good pattern? How can you use it effectively? In this talk, we'll explore real world experience building out a large scale application based around microservices - what worked really well, what didn't work at all, and what we learned along the way.

Spoiler alert - we got a lot wrong.
Rasmus Lerdorf – 25 years of PHP
It is a real privilege to have the creator of the PHP language kicking off the return of the conference with an inspiring keynote!

Rasmus will talk about all the shiny new things in PHP 7.4 and PHP 8 we all love but the keynote will also cover important things in our careers such as motivation, burn-out and focusing on things that really matter
Manel Sellés – Coming back to the monolith
Many teams think that breaking the monolith and migrating to microservices will solve all of the coupling and scalability problems we have in our code. This also happened to us and we suffered the most painful parts of microservices, without even having the benefits. After that, we started to develop focusing on decoupling and separation of contexts, but without putting ourselves any infrastructure barrier.

This talk will explain architecture problems suffered at Ulabox, taking into account factors like team size or enterprise objectives, and which is our proposal to evolve our architecture.
Thijs Feryn – Developing cacheable PHP applications
Most of us are familiar with HTTP, but when it actually comes to creating cacheable web content, there is still a lot to be learned.

In this presentation I will show you how to leverage specific mechanism to achieve a good hit rate without losing touch with some of the challenges of real-life web projects.

Keywords: cache control, cache variations, conditional requests, stateful content, HTTP fragments, invalidation.

The goals is to empower developers to control the behavior of reverse caching proxies like Varnish, Content Delivery Networks, or even browser cache, using the power of HTTP.
Have you ever wondered how to enhance your app’s performance after fine-tunning the very last bit of your current PHP stack? Maybe it’s time to think of an alternative!

Let me convince you to ditch your PHP-FPM server and embrace the world of ReactPHP! Yes, you’ve heard of ReactPHP, but that’s “too experimental” for you. Guess, what: it’s not, thanks to PHP-PM, a ReactPHP process manager, you can give your app a nice performance boost with an alternative production-ready application server.

Prepare yourself to dive into the lifecycle of a PHP request (compilation, opcode generation, memory allocation, execution, IO...) and to understand why there’s not much more room for performance improvements using the current stacks. We will also discuss the pros and cons of the ReactPHP + PHP-PM approach using a Symfony 4 app as an example, including developer experience and deployment options with containers.
To Top