PHP Barcelona 2019

After a long time planning, finally, I was able to attend to one of the most prestigious PHP conferences in Europe, PHP Barcelona. Two days of great talks and a lot of valuable content. I was quite amazed by the quality of the scheduled talks and by the invited keynoters, it is not that easy to arrange such lineup for an event like this one. I will briefly talk about my favourite talks and some things worth to mention.

Note: All talks are already available on Youtube

The initial talk was from @rasmus, it was great hearing all the stories and motivations behind the PHP creation by his own author, going back to the time and place towards his hometown, a small village in the remote country of Greenland. Rasmus also drew the picture of the language evolution throughout 25 years to be one of the most important languages consolidated (Like or not) on internet, and still with a lot of significance to our days.

The following talks would be easily a PHP 101 and PHP 102 classes about “What is behind the PHP curtains?”. The talks from Nikita Popov (PHP Performance Trivia) and Derick Rethans (It’s all about the goto), two well-known Developers in the PHP community who are actively working in PHP-Internals and the language evolution, taking it to the next step. They gave us a lot of important insight over how PHP works under-the-hood and to make the most of the language traits.

Derick’s first talk broke the execution of PHP algorithm into its 4 stages (Parse script, Create of Logical Representation, Create Executable Code and Execute Bytecode), through some PHP Code samples he showed us all the possible different path can be taken for a PHP algorithm and how the language keywords and constructs are handled internally.

Regarding the Nikita Popov’s, it was the first time I could see him in person, he is a sort of “legend” in the community, I had heard a lot about his achievements, especially in the PHP performance gains in the version PHP 7, much we have in the language today is granted and credited by his personal efforts. The Nikita’s talks shed some light about some of those breakthroughs in the language, following a little bit the same steps of Derick’s previously talk, going deeper into PHP inner working. He also introduced a few new features available in the upcoming PHP 7.4, especially the long-awaited preloading feature.

Last but not least, the talk I was most waiting for, Advanced Web Application Architecture with @matthiasnoback. I had recently read his excellent and newest book Object Design Style Guide, which helped me noy only to improve my approach regarding my own code but also reviewing someone else code. The talk itself address different topics of application architecture, such as “Domain X Infrastructure”, briefly going through some Hexagonal Architecture topics and DDD. Unfortunately, I need to say due to the time and complexity most of the topics were too shallow covered, 45 minutes would not enough for his talk, on another hand for those who are familiar with others Matthias’ talk, its keynote was really good to enforce his previously topics.

Mind notes for me and worth stuff to give a try in the future

Serverless: I should give a try for Serverless applications, in order to see by myself the pros and cons in my daily work basis. That was basically the message I got from the Matthieu Napoli‘s talk, Serverless PHP applications with AWS Lambda and Bref, combination deserves a better look and could bring incredible benefits, such as saving resources.

PHP SPY: A really interesting tool I had no clue about which can support us to easily profiling a PHP application on production.

Webhooks and Ngrok: The concept was well clarified on my mind, however, I have stopped to think about the several benefits. Webhooks might be extremely useful to avoid unnecessary hops to the server to request a piece of information which is not already prepared. The Lorne’s talk gave some insight into this matter and about the until unknown to me Ngrok. Ngrok enables us to build webhook consumers on our dev machine, among other features.