Our aim is for PHP UK to offer attendees a forum for learning and networking with the most up-to-date topics in PHP development and related tools, tailored specifically to the needs of developers and CTOs.

Wednesday 19th February 2025

09:15
0
20 years of BDD
Keynote by Daniel Terhorst-North in Porter Tun (30 minutes)

Twenty years ago, I had a problem. I was working as a consultant introducing teams to ideas like continuous integration, pair-programming, and test-driven development. I was, and still am, a fan of TDD, and I was frustrated with how hard it was to get people to even try it. Most of the objections stemmed from the word ‘test’. I tried changing my approach, using language like ‘code example’ and ‘executable spec’, and not mentioning tests at all, and that seemed to land better. People were certainly more willing to give it a try! Fast-forward 20 years and I am amazed at the traction BDD has had. It has spawned a host of books, most of them fantastic, none of them by me. It gave rise to an ecosystem of automation tools starting in the Java and Ruby worlds as JBehave and RSpec respectively, and then exploding into the Gherkin-based tools of Cucumber, Reqnroll (née SpecFlow), and PHP’s own venerable behat.

10:00
0
Deploying at scale with a single click
Talk by Wim Godden in Porter Tun (45 minutes)

This talk is based on our work deploying both the server infrastructure, as well as thousands of industrial computers around the globe, some of which are connected over slow 3G connections.

0
Ending Injection Vulnerabilities
Talk by Craig Francis in Queen Charlotte (45 minutes)

Imagine you are working a project that uses Doctrine for your database abstraction, you think you are safe from SQL Injection vulnerabilities. Even when using abstractions, or parameterised queries, we can still make mistakes; this is often a problem for junior developers, but it can also happen when our code becomes complicated.

11:15
0
Shrek, Onions and Architecture
Talk by Katy Eriera in Porter Tun (45 minutes)

Have you ever encountered a codebase that’s ogreish and has so many layers of complexity that it makes you cry? It might actually be an onion! In this humorous talk we’ll investigate the structure of large monolithic applications and how we can peel back layers to reveal greater understanding. Using the principles of hexagonal architecture and the science of onion growth, we can make monoliths great again.

0
Beyond Requests: Supercharging API Monitoring with Guzzle Middleware
Talk by Liam Hammett in Queen Charlotte (45 minutes)

Handling millions of API calls in production can be overwhelming. Everyone uses Guzzle, but in this talk we'll deep dive into using its underutilised middleware for efficient API monitoring. We’ll dive into logging with Kibana, error enhancement with Sentry, tracing with OpenZipkin and Jaeger, and making use of Prometheus metrics with Grafana, Alertmanager and KEDA. Drawing from my experience building an application that makes millions of API calls each week, you'll leave with actionable insights to keep your microservices and third-party APIs stable under pressure.

12:15
0
Composer Guide to Supply Chain Security
Talk by Nils Adermann in Porter Tun (45 minutes)

Everyone has heard of supply chains at this point, but what exactly does that mean for a PHP project? Learn more about software supply chains, how Composer, packagist.org and Private Packagist come into it and which role PHP dependencies play. This talk will present concrete steps you can take to identify your dependencies and give advice on measures you can put in place to better manage and protect how your application is assembled.

0
Learn to appreciate legacy (Story about Zed)
Talk by Ivo Lukac in Queen Charlotte (45 minutes)

There is a lot of frustration among developers when they need to work with the old code, usually called “legacy”. But there is way more legacy code running than non-legacy out there in the world. Developers like starting from scratch but that is not often the case. If they want to successfully replace legacy with newer code they need to start with appreciation and respect for that legacy code because it somehow runs and there is no guarantee that new code will do a better job.

14:15
0
Modernizing PHP one edge case at a time
Talk by Gina Banyard in Porter Tun (45 minutes)

PHP is what one can call a truly organic language, in that it was never designed from scratch. And at 30 years old it has shown to be a reliable programming language which powers most of the web, but not just. However, it also has some quirky behaviours and edge cases that still linger and are waiting to be discovered. So join me in this fun talk where we will explore some of PHP's utterly baffling behaviours, and how some of them have been fixed after being discovered in recent versions of PHP

0
Sharpen up your CI/CD pipelines with Dagger
Talk by Chris Riley in Queen Charlotte (45 minutes)

Continuous integration pipelines have typically been the responsibility of devops teams, despite the fact that day to day, developers have far more interaction with them and would be better placed to maintain them. Often this is exacerbated due to different tools being used for the pipelines than the ones developers use on their own machine. Enter Dagger. Dagger is a solution which allows for building pipelines, built on top of Docker, which run exactly the same on the local development machine as they do on the CI/CD servers. In addition, Dagger modules can be written in multiple different languages and composed into a single pipeline, removing the barrier of entry for developers to maintain their own pipelines. In this talk I’ll show you the work we’ve been doing recently on the Dagger PHP SDK and how you can sharpen up your own CI/CD pipelines.

15:15
0
Give your PHP apps superpowers with FrankenPHP
Talk by Kevin Dunglas in Porter Tun (45 minutes)

FrankenPHP is a modern application server for PHP written in Go and integrates the popular Caddy web server. FrankenPHP gives your projects superpowers: worker mode, native real-time capabilities compatible with Laravel Broadcast, resource preloading with HTTP 103 Early Hints code, automatic HTTPS, HTTP/2 and HTTP/3 support, modern compression, Prometheus metrics... Find out how to boost your applications with FrankenPHP!

0
OpenAPI for Web Developers
Talk by Lorna Mitchell in Queen Charlotte (45 minutes)

APIs are at the heart of modern application development, and OpenAPI is a powerful tool to streamline your API development lifecycle. In this talk, we’ll explore how OpenAPI can enhance your projects and how an OpenAPI description evolves through the build process to power up different aspects of your project. Get hands-on examples of the cool tools to use with OpenAPI to transform the API descriptions, produce documentation or client SDKs, or mock up the API for testing. With practical tips and pointers to further resources, this session is perfect for anyone using APIs who wants to make them just a little bit better. Come along and get ready to take the next step in your API journey.

16:30
0
Panel in Porter Tun (30 minutes)

Q&A session