Want to join all these great speakers? Great! We want to hear from you! Send your proposals to our Call for papers.
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
Rasmus Lerdorf is known for having gotten the PHP project off the ground in 1995 and has contributed to a number of other open source projects over the years.
He was an infrastructure architect at Yahoo! for more than 7 years and joined Etsy in 2012.
He was born in Greenland, grew up in Denmark and Canada and has a Systems Design engineering degree from the University of Waterloo.
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.
Matthias Noback is a professional web developer (since 2003). He lives in Zeist, The Netherlands, with his girlfriend, son, and daughter.
Matthias has his own web development, training and consultancy company called Noback's Office. He has a strong focus on backend development and architecture, always looking for better ways to design software.
Since 2011 he's been blogging about all sorts of programming-related topics on matthiasnoback.nl. He's published several programming books as well (most recently: "Principles of Package Design" and a "Style Guide for Object Design").
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.
Derick Rethans is a PHP internals expert, author of Xdebug and an OpenStreetMap and mapping enthusiast.
He has contributed in a number of ways to the PHP project, including the Xdebug debugging tool, and various extensions and additions. He's a frequent lecturer at conferences, the author of php|architect's Guide to Date and Time Programming, and the co-author of PHP 5 Power Programming. He works as an independent contractor and consultant.
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.
Marco "Ocramius" Pivetta is a software consultant at Roave.
With over a decade of experience with PHP, he is part of the Zend Framework CR team, Doctrine core team, and is also active in the community as a mentor and supporter.
When not coding for work, he usually hacks together new concepts and open source libraries, or simply provides Q&A on community channels.
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.
Anthony Ferrara specializes in Team Leadership and Management, Object Oriented Design, Application Architecture, Web Application Security, and Team Building and Management.
He is best known for his contributions to the PHP language, along with a broad history of collaborations to the PHP community as a whole.
You can follow his blog at http://blog.ircmaxell.com or on Twitter at https://twitter.com/ircmaxell
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.
I'm a Principal Software Engineer in the R&D department of Elastic (Mountain View, CA). Previously, I worked 11 years at Zend Technologies (Cupertino, CA) contributing to PHP with projects like Apigility, Expressive, Simple Cloud API and Zend Framework.
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.
I'm Google Developer Expert who works as a Developer Evangelist at Auth0. At Auth0 we're trying to make authentication and identification as easy as possible, while still keeping it secure.
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.
I'm a technical evangelist at Varnish Software, the company behind the Varnish Cache open source technology. My mission is to bridge the gap between code and infrastructure. I convey my message through various media: I speak at conferences, I write blog posts, I record vlogs, I write books, and I love interacting with people.
As an international conference speaker, I've presented 214 talks in 15 countries. I'm the author of "Getting Started with Varnish cache", an O'Reilly book about Varnish.
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.
I'm a Software Engineer at heart that also happens to be an MBA graduate with a bit of an obsession for performance and devops: from TCP and networking all the way to opcode caching and container orchestration.
These days I attend way too many meetings and answer too many emails, but I still find some time to open my IDE and play with and contribute back to OSS projects.
Currently working at Noustique, a joint venture between two giants like BSH (Bosch-Siemens Hausgeräte) and Puig Perfumes that wants to reinvent the world of perfume through its The Alchemist Atelier concept
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.
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.
Kat works at Monzo as a backend engineer on the fincrime team. Her main interests include automating #allthethings, sorting out legacy code and making things simpler and faster.
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.
Lorna is based in Yorkshire, UK; she is a Developer Advocate with Nexmo as well as a published author and experienced conference speaker.
She brings her technical expertise on a range of topics to audiences all over the world with her writing and speaking engagements, always delivered with a very practical slant.
In her spare time, Lorna blogs at https://lornajane.net.
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.
Matthieu is a software developer and consultant who loves creating web applications.
He loves working with serverless technologies and finding solutions to make PHP development simpler and better.
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.
Nikita Popov (nikic) is a PHP core contributor.
He is one of the people behind the performance improvements in PHP 7 and also worked on many of the upcoming features in PHP 7.4, such as typed properties, arrow functions and covariant types.
Nikita also maintains the PHP-Parser library and works on LLVM.
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.
Chris is a freelance consultant based in York, Uk with experience working in the public sector, small and large companies throughout North Yorkshire.
Chris has over 10 years experience with PHP and has a keen focus on both software architecture and none functional requirements such as security, performance and maintainability.
In his free time, Chris can often be found producing or playing with experimental libraries and contributing to Zend framework.
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.
Software engineer focused on web and enterprise software applications. DDD-CQRS fan.