Schedule

Our Event Schedule

08:00 - 09:00 - Hall & Sponsors

Registration & Breakfast

Get your badges and swag and have a snack while we wait for the conference to start!

09:00 - 09:15 - Main

Welcome!

Welcome to the PHP Barcelona Conference!

Rasmus Lerdorf Speaker

Rasmus Lerdorf

09:15 - 10:00 - Main

Opening Keynote

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

Marco Pivetta Speaker

Marco Pivetta

10:00 - 10:45 - Main

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.

10:45 - 11:15 - Sponsors

Coffee Break

See you back at 11.15! Don't forget to visit our sponsors booths

Anthony Ferrara Speaker

Anthony Ferrara

11:15 - 12:00 - Main

Microservices gone wrong

Microservices are the latest architectural trend to take the PHP community by storm.

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.

Matthieu Napoli Speaker

Matthieu Napoli

12:00 - 12:45 - Main

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.

12:45 - 14:45 - Outside

Lunch

Free time for lunch! Lots of nice options around the area!

See you back at 14.45! Don't forget to visit our sponsors booths if you want to participate in the raffle

Sam Bellen Speaker

Sam Bellen

14:45 - 15:30 - Main

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.

Thijs Feryn Speaker

Thijs Feryn

15:30 - 16:15 - Main

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.

16:15 - 16:45 - Sponsors

Afternoon Snack

See you back at 16.45!

Last chance to get all the stickers to participate in the raffle!

Nikita Popov Speaker

Nikita Popov

16:45 - 17:30 - Main

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.

Kat Zień Speaker

Kat Zień

17:30 - 18:15 - Main

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.

18:15 - 18:30 - Main

Closing Day

End of the 1st day announcements and raffle time!

08:00 - 09:00 - Hall & Sponsors

Breakfast

09:00 - 09:15 - Main

Welcome back!

Matthias Noback Speaker

Matthias Noback

09:15 - 10:00 - Main

Advanced Web Application Architecture

Web application frameworks are indispensable. You wouldn't want to deal with raw HTTP messages yourself, nor build your own router, or ORM. But if you're not careful, a framework will take over your entire project. Business logic and framework-specific code will end up being mixed together, in controllers, services and entities. Not being able to describe the use cases of your application without also talking about HTTP, or SQL, leads to hard-to-test and hard-to-change application code. Your core code will be tied to your framework, which endangers the future of the project in the long term.

In this talk I'll explain how to make a clean separation between your own business logic and the code that makes your application's use cases available to the world outside. We'll discuss architectural concepts like "layers" and "ports & adapters", and how applying them will make your application flexible enough to deal with a constantly changing environment.

Lorna Mitchell Speaker

Lorna Mitchell

10:00 - 10:45 - Main

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.

10:45 - 11:15 - Sponsors

Coffee Break

Albert Casademont Speaker

Albert Casademont

11:15 - 12:00 - Main

Supercharge your apps with ReactPHP & PHP-PM

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.

Derick Rethans Speaker

Derick Rethans

12:00 - 12:45 - Main

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.

12:45 - 14:45 - Outside

Lunch

Enrico Zimuel Speaker

Enrico Zimuel

14:45 - 15:30 - Main

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 Speaker

Théo Fidry

15:30 - 16:15 - Main

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.

16:15 - 16:45 - Sponsors

Afternoon Snack

Chris Riley Speaker

Chris Riley

16:45 - 17:30 - Main

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.

Manel Sellés Speaker

Manel Sellés

17:30 - 18:15 - Main

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.

18:15 - 18:30 - Main

Closing Day

Join Our Event. Join the PHP community

Why should you attend?

Learn From The Core Team

Foresight the PHP Future

Discover PHP Ecosystem

Networking With Others

Level Up Your Skills

Mingle With The Community

Passion for PHP

The Conference that the PHP community deserves

What an incredible 2018 and 2019 for the PHP community! Part of the PHP Core Team that was working for Zend left. Some of them found excellent companies and they are rocking more than ever, like Nikita at JetBrains. PHP 7.4 is about to be released, and PHP 8 has been branched. Laravel and Symfony have healthy growth. JIT is part of the imminent future, and I/O non-blocking frameworks are getting more often adopted in production.

We've crafted the best possible PHP conference just for you so you can see the future and get ready before anybody else. We'll gather top-notch speakers and an awesome community eager to share a lot of knowledge. All of this will take place in the very center of the gorgeous city of Barcelona in an excellent venue. What are you waiting for? Go get your tickets!



Speakers

This is our awesome speaker roster!

Rasmus Lerdorf

Rasmus Lerdorf

PHP creator
Matthias Noback

Matthias Noback

Developer, Speaker, Writer
Derick Rethans

Derick Rethans

PHP internals expert, Xdebug author
Marco Pivetta

Marco Pivetta

Software consultant, OSS aficionado
Anthony Ferrara

Anthony Ferrara

Engineering Manager at Facebook, PHP contributor
Enrico Zimuel

Enrico Zimuel

Principal Software Engineer at Elastic
Sam Bellen

Sam Bellen

Developer Evangelist at Auth0
Thijs Feryn

Thijs Feryn

Technical Evangelist at Varnish Software
Albert Casademont

Albert Casademont

Co-founder & Head of IT at Noustique
Théo Fidry

Théo Fidry

Web developer at Webmozarts
Kat Zień

Kat Zień

Backend engineer at Monzo
Lorna Mitchell

Lorna Mitchell

Developer Advocate at Nexmo
Matthieu Napoli

Matthieu Napoli

Software architect and consultant
Nikita Popov

Nikita Popov

PHP Core Developer at JetBrains
Chris Riley

Chris Riley

Freelance consultant
Manel Sellés

Manel Sellés

VP of engineering at Ulabox
Sponsors

Thanks for your kind support!

Tickets

Tickets are officially sold out!

Thanks everybody!

Follow us on Twitter (@phpbcnconf) to stay updated with the latest news about the conference.
See you all in Barcelona in November!

If have any further doubts please get in touch with us at conference@php.barcelona.