The International PHP conference in Italy - 17th edition!

Tuesday 8th September 2020

Things I Wish I Knew When I Started Playing "Developer"
Talk by Gary Hockin (45 minutes)

I’m a gamer, and some of my favourite articles to read about computer games are those click-bait posts that read “Ten Things I Wish I Knew When I Started Playing Pac-Man!”. When you’re playing computer games, it’s easy to miss things that are obvious to others, and these posts can help you to understand a simple game mechanic that you’d otherwise have not used. It got me thinking about the things in my own career that I found out about too late, or didn’t fully understand until I much later than I needed it. We’ll cover both the technical and the conversational, so join me, as I introduce you to Things I Wish I Knew When I Started Playing “Developer”.

10:45 What's new 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 8.0. Join me to have a look at how the type system is strengthened with union types, Attributes, the JIT engine, and syntax improvements such as Constructor Property Promotion, and other new smaller features. At the end you will have a good understand about all the new and exciting features that are going to be part of the PHP 8.0 release.

Symfony 5, the new bits
Talk by Andreas Hucks (45 minutes)

There are some exciting new things in Symfony 5. Besides removing some deprecations and bumping the PHP version requirements, several components have left the experimental stage. The Mailer & Mime, HttpClient (and why do we need one?), Notifier, String handling, and more. In this talk, we’ll look at the new features in depth both from the high level perspective of using them in Symfony full stack, and how you can fit the pieces together and use them in any generic PHP application.

12:35 Leveraging Typed Exceptions for Cleaner Error Handling
Talk by Chris Holland (45 minutes)

Harnessing Errors & Edge-Cases with Ease & Elegance. Imagine handling error conditions and unexpected edge-cases with code that is easier to read, maintain & extend. The temptation is real. We create methods that return an array of objects, or “false” if nothing was found. Or “null”. We might further “signal” unexpected results or error-conditions with integer values. It then becomes the responsibility of consumers of these methods, to properly interpret what “false”, “null”, or “-500” mean. As a result, we produce code that is difficult to read, maintain and extend. Exceptions are seldom leveraged, and most often thought of as objects thrown by some frameworks for instrumentation. When properly leveraged, they however offer an opportunity to manage unexpected and edge-case behavior at various layers of our applications, with elegant control flows. By leveraging your language’s Exceptions alongside its “Type System”, we can create elegant, flexible and advanced handling of Error conditions, which will promote code that is easier to work with. What you’ll learn from this talk: * use-cases for leveraging exceptions, recognizing patterns where they would be a better fit * how exceptions allow us to signal errors with less code * how exceptions allow us to handle errors with less code * how exceptions can help us build more robust systems with far less technical debt

14:30 Kubernetes for PHP developers
Talk by Alessandro Lai (45 minutes)

Docker has slowly won the hearth of many developers as a good, flexible and reliable tool to build local environments for web apps, but containers in production were still a myth for a long time. Now, with the advent of Kubernetes (k8s), deploying (PHP) applications with containers is the new shiny tool, but the huge amount of new concepts and technologies scares a lot of people away. In this talk we will walk through the basic concepts and tools that a PHP developer needs to know about when deploying to a k8s cluster, so that you’ll have enough to understand that this new world is not so scary, and hopefully build your own first automatic deployment.

15:15 Technically Speaking: Improve your code with documentation
Talk by Alexandra White (45 minutes)

Well written instructions, informative comments throughout code, clearly scripted screencasts, and smart information architecture can take complex code and make it accessible to new developers. In the age of code sharing, this can be imperative to teaching the next generation of developers, passing along your code to successors, and help you better understand your own work. When I was an engineer, helpful READMEs and other docs created by my colleagues were crucial to quick onboarding and coming back to old products. Now, as a full time technical writer, I rely on our engineers to be able to concisely explain how products work. From these experiences, it is essential that developers are empowered to write documentation. In this talk we’ll discuss: + Why writing docs is important for engineers + Understanding your audience + Optimizing for the deliverable: READMEs, code comments, tutorials release notes, and more We’ll also cover some tips for communicating about your past work to your future self.

16:15 Looping the Loop with SPL Iterators
Talk by Mark Baker (45 minutes)

An often-forgotten part of PHP, just looking at the content list for the Standard PHP Library (SPL) Iterators in the PHP Docs can seem very confusing, and even reading the documentation on those Iterators doesn’t really explain when or how they should be used. But it’s time to bring SPL Iterators out of the shadows with some real-world examples, explaining how they work, and how they can reduce complexity and improve readability of our code. So join me on a roller-coaster ride as we loop through some of the most useful Iterators in the SPL toolbox, and learn how we can use their power and features to improve our code.

Getting started with ReactPHP – Pushing real-time data to the browser
Talk by Christian Lück (45 minutes)

Think about PHP for a few seconds… What came to mind? It’s very likely you thought about your average product catalog, a blogging platform, or how the platform is inferior to things like Node.js. But wait, it’s 2020! What if I told you PHP’s huge ecosystem has way more to offer and PHP is not inferior at all to its evil cousin Node.js? In this talk you will learn about the core concepts of async PHP and why you too should care about ReactPHP being a real thing. The talk has a strong focus on sparking the idea that PHP can be way faster and more versatile than you probably thought. Bring along an open mind, and through lots of interesting examples and live demos learn why what sounds crazy at first might soon be a valuable addition in your toolbox. You’re already familiar with PHP and want to learn what ReactPHP is all about? Then this talk is for you! We will start from scratch and see what it takes to build an application that pushes data from your command line to your browser in real-time. You’re invited to join the interactive demos or lean back and learn more about why an event-driven approach might be the next big thing in making your application faster and more responsive.

Pragmatic Optimism: How PHP Conquered the Web
Talk by Samantha Quiñones (45 minutes)

Though it wasn’t originally conceived as a programming language after nearly a quarter-century PHP stands as one of the most popular languages in the world. Unlike its peers, it was not carefully designed but rather it grew organically under the guidance of a vast cast of contributors. Today, PHP is a serious and capable programming language, and its endurance speaks to the murky place where computer science meets software engineering. Let’s examine its history, how it got here, and where it’s going next.