PHP Fwdays conference 2019

As a developer, I always need to be up to date with the latest technologies, which means that I need to know the main trends and keep my professional competencies high enough. I have several options on how to achieve this — read articles and reviews, listen to developers’ podcasts, communicate with “peers” and attend thematic events and conferences.

One day, I interviewed a candidate and he told me about the Fwdays conference. Then, I remembered that I had already watched some videos from it. This event has interested me, and I thought that I could attend it in the near future.

This conference takes place in Kiev, and the subjects are always different —  .NET, Javascript, Big Data and so on. I was mainly interested in PHP. PHP Fwdays is an annual event that gathers up to 800 participants and famous speakers from Ukraine, Belarus and European countries. Looking ahead, I can say that this year the keynote speaker was Fabien Potencier (the creator of the most powerful Symfony framework). The conference was organized quite well, all the information about the event could be obtained by scanning the QR code located on the badge (which was also issued on the ticket). Food, tea, coffee — were served on time, there was a good buffet without queues. So the event was pretty well organized. The phone could be connected to a free Wifi access point. There were many different information boards from sponsors, where you can win socks with a logo, get a job offer by solving a non-trivial SQL task, or gain a free certificate for buying ergonomic furniture.

I traveled to the conference by bus crossing the border late at night, which I advise you not to do because I slept badly and it was hard to consume the information after. Presentations were divided into 3 streams, so there was no physical ability to attend all the sections, so I had to choose them on the go. Therefore I can advise you to prepare in advance. I mean, it is better to got an information about  the speakers (many of them can be found on YouTube) and topics in details to make a choice before arrival. It will help you to save time for coffee and chatting during breaks. In addition, all the speeches you will be able to watch in the format of recording.

Let’s walk through the presentations and topics.

Interesting thoughts were told by Marco Pivetta in his report “Backwards incompatible tales”. Yes, as he said, almost any changes in the already written code can lead to backward compatibility breaks, and we must remember this. But at the same time, it is necessary to observe a healthy balance between the price of a possible break and the performance of work. It is rightly said that ultimately we do not write super-reliable aircraft control applications in PHP. Marco is an active participant in many open-source projects. You can see this on his github account. He is an experienced speaker and a cool technical specialist. That is why he gives the material in a very interesting and informative way. There are many records of his presentations on the Internet, you can see them and your time will not be spent in vain.

At the conference, a lot was said about the abilities of asynchronous execution of PHP code and acceleration of PHP applications. Apparently, there is a high demand for this now, and the evolution of the language allows us to come to this.

Anton Titov, a developer from Minsk, spoke about his own development tool with the name RoadRunner. It allows to speed up the application’s response at times and sometimes at dozens of times. The classic principle of operation is that the PHP server initializes the application for each request processing, loads all necessary code and data into the memory, and releases the memory after the response all the time. The trick of RoadRunner lies in that the front server part written in the Go programming language. This server receives requests, then sends them to the pre-loaded PHP application for processing, and returns the response from it to the client. These pre-loaded applications are grouped in pools and process requests as when not busy. This is in brief. The approach is very interesting and received positive feedback. The author claims that the product is stable and can be used in real production projects.

Also, an increase of the response’s speed can be achieved using an asynchronous approach, when the processing of a request does not stop during blocking operations (files read/write operations, database connections, other input/output operations). There were already 2 reports about this topic.

First was from Anton Shvabota, who is also a guest from Minsk, the programmer from Onliner company. His speech was about the experience of using the ReactPHP framework. The framework is stable for more than a couple of years and has good documentation. However, there are some downsides. Not everything can be realized, but it is a suitable tool for solving some specific problems. For example, somehow I used it to write an asynchronous client for streaming the server.

Alexey Petrov (the architect of the distributed systems, one of the conference organizers) shared his experience of using the Swoole framework. This framework made a strong impression because of its performance. But it was recommended to use it with care, as the documentation is mainly presented in Chinese.

The final at the conference was the report of Fabian Potencier.

I even managed to take a picture with him!

As the author of the most powerful and popular Symfony framework, he told about his brainchild. Fabian narrated what’s new and why it was implemented in version 4, what should be expected in future versions, and where the development of the Symfony framework is heading.

During each presentation, a link to the special chat was displayed on the screen. In this chat, any attendee can ask the speaker a question. The number of questions to Fabian just broke all records. At the end of the report, he responded to those which scored more votes. Fabian received a storm of applause.

There was a lot of information received at the conference, it is still necessary to revise and rethink all the presentations, discuss it with friends. Will I go to a similar event next time? The answer is ‘Yes’. And what does it give me?

Firstly, it motivates for a deeper understanding of the technical aspects, broadens my horizons.

Secondly, it is an opportunity to talk with like-minded people, discuss common problems with them, exchange experiences, see and talk in person with library authors and important members of the PHP community.

Overall — this is a great opportunity to change the scenery for a few days, take a break from the routine and drink delicious Ukrainian beer after the party in a good, intelligent company.