
Impressions of the best reports at the International PHP Conference

PHP 7: what is it? (Sebastian Bergman)
Sebastian traveled to Berlin with adventures - technical problems with the plane identified right before the flight (well, that’s not after!). Therefore, his report was postponed to a later date. But the wait was worth it!
The speaker very thoroughly approached the content of his speech. The main purpose of it was not to leave a single gap in the students' understanding of the role and place of PHP 7 in the vast world of modern programming languages. To do this, Sebastian walked in great detail on the principles of work of many languages. Particular attention was paid to the history of development and programming paradigms. The speaker showed by examples how the language changed from version to version, what new features it acquired, and how much better it got from it. In summary, we can say that PHP 7 is an imperative language that supports procedural as well as object-oriented programming. It has limited support for functional programming. There are also extensions for aspect-oriented programming. PHP 7 is dynamic, implicit, and weakly typed, but optionally supports explicit typing and strong type checking. Thanks to this report, we were able to better understand the tool with which we work every day.
Presentation .
Setting up an Enterprise Level Balancer with free software. (Sebastian Feldman)
Sebastian Feldman is a leading developer at one of Munich's IT companies. He described how he sets up load balancers. He is betting that accessibility is a key factor in online business, and if a website or service is not available to customers, it is always bad for business. From the report, we learned how to configure the balancer to achieve high performance and high availability under load using the free Nginx and HAProxy software. The report contained many configuration examples, as well as an overview of monitoring tools. Sebastian paid special attention to tuning the operating system: aggregating network adapters, changing the size of the TCP buffer. The speaker shared information on why connection performance is increased using the SPDY and http2 protocols.https://www.ssllabs.com ). The part about the strategy of switching to another hosting for web servers was very interesting. After this report, I wanted to take a deeper look into the settings of our servers and implement those ideas and best practices shared by Sebastian Feldman.
Presentation .
Just married: NodeJs and PHP (Arne Blankerts)
When Node.js first opened to the world in 2009, many said that PHP was coming to an end. However, about six years later, both environments live and prosper, occupying their niches! But why not combine the best of both languages - this can be a great solution to meet the needs of the next generation of web applications. This report introduced us to the system and software architecture, which combines Node.js, PHP and Redis and provides a really powerful web stack for solving modern problems. With this solution, you can create applications with a constant websocket connection, in which the server itself sends information to the client as necessary, without creating an additional load on the network - the connection is permanent! I liked the report precisely because this topic is closely related to some current projects,
Presentation .
Symfony2 best practices from the trenches (Stefan Coopmanshap)
Symfony2 is an excellent framework and it is quite easy to create your first application on it. Symfony has good documentation, but, as with any documentation, it’s hard to describe all the nuances and pitfalls of documented code.
Many details and good techniques are best understood when working on your project. During this report, Stefan examined the main points in working with projects on Symfony that are worth paying attention to, shared with the knowledge and experience gained in the trenches of real projects.
Under normal circumstances, developers would have to dodge such controversial issues as bullets in the Matrix, decide for themselves what is the best way to act, try, and find a solution.
Whether it was a question about the configuration details that you always forgot about, or how best to abstract the logic in the right places, Staffan has an opinion on everything, backed up by experience, and he was glad to share it. For example, the use of dependency injection, working with the project configuration, putting business logic into services, or standardization issues - the range of issues discussed was quite large.
One of our projects, which is currently under development, is just written using this framework. Listening to the report, from time to time they found themselves thinking that they themselves would have acted in the same way or altered as Stefan recommended. The report will be of interest to beginning developers, as well as to those who have already developed more than one project on Symfony, to once again make sure that the decisions made during development were correct. It is also likely that after the report you will once again take a look at the project code and understand how it can be improved.
Presentation .
How to manage project utilities in 2016 (Arne Blankers, Sebastian Hoyer)
Today, dependency management in PHP projects is carried out mainly with the help of Composer.
While this is fully justified for libraries, managing utilities with Composer will install all the dependencies of these tools. In addition to slowing down the installation, there is still a mixture of these dependencies with the application dependencies. And although many tools are available as fully standalone phar archives, manual installation and updating can hardly be called a convenient process.
If only there was a way to automate this.
It was about phive (phar.io), which was created to solve this problem, that was discussed in the report. Arne and Sebastian talked more about this utility and showed it in action. The project is still in the alpha version stage and very few utilities are available for installation. Currently it is phpab, phpcpd, phpdox, phploc, phpunit, phpbu. It is also possible to download utilities by reference or from Github (specifying the user and project name). It is seen. that the application has not yet reached a stable version, but you can already try to use it, perhaps first for small projects. The idea of the utility is quite interesting, and who knows, maybe after a while we will all use it.
Presentation .
Docker in production (Robert Lemke)
You most likely have already heard of Docker, you may have used it as a development environment to run your project on a local computer. But the continued use of Docker on battle servers is a completely different matter.
In his report, Robert announced the main points that you should pay attention to when using Docker in production. And you need to consider quite a lot of things - monitoring, deployment, debug, security, backups, data storage. That is, issues whose implementation can be very different when deployed on a single server for development, and when deployed in the cloud on a combat environment.
Robert also helped gain a deeper understanding of working with Docker in practice.
Starting with basic concepts, we examined practical scenarios for hosting, automatic deployment and monitoring of an application in production. In addition, recommendations were given on the use of various tools and services.
Docker is a rather interesting technology, and despite the fact that it is mentioned literally at every step, it is still relatively rarely used in combat environments. After listening to this report, the desire to use it in production was reinforced by knowledge and useful tips on choosing the necessary tools and services, without which it would be necessary to reinvent the wheel.
Presentation .
Boost your team (Stefan Coopmanshap)
As a technical project manager, team leader or mentor, at any time you may encounter the fact that your team has stopped in its development. There are many reasons for this: your team members may not have enough time, motivation, money, desire. Meanwhile, each leader needs the guys in the team to work efficiently, be able to quickly switch to another project, and remain involved in a professional community. To do this, the team leader must keep abreast and strive not only for high project performance, but also for the professional growth of each team member. How to achieve this, said Stefan Coopmanshap.
Stefan listed all the well-known tools for the development of the team and gave examples from personal experience on how to make the developers push themselves to give all the best. Of course, the report had many obvious points, but Stefan managed to structure the whole variety of tools for working with the team and create a full-fledged “instruction”.
Stefan helped look at the responsibilities of the lead from the other side and proposed a solution to a really serious problem. In addition, his report, in itself, motivated to develop and increase the level of knowledge, made me think about how much time and effort should be spent on developing a person in a team and the project team as a whole.
Presentation .
Modern app with Angular 2 - neat, simple and straightforward (Anas Raza Firdousi)
The modern pace of web technology development requires a flexible and stable framework with long-term support. Anas Raza Firdous of PayPal is sure that it is Angular 2 that is able to evolve continuously and can withstand the test of time.
Anas devoted his presentation to the benefits of Angular 2 and demonstrated how to think and design applications in terms of Angular 2, TypeScript, and reactive programming with RxJS.
Anas said that Angular 2 combines the ease of use of Angular 1, but at the same time corrects many pitfalls and difficulties of the first version, talked about the changes in Angular 2 and their reasons. Using a practical example, Anas demonstrated the features and some features of the framework, which are enough to start development. The speaker also advised how to learn Angular 2 in more detail.
Presentation .
Translate your project to PHP 7 (John Cogshall)
Since the release of PHP 7, the community of developers has been discussing the advantages and disadvantages of the latest version, as well as the features of migration to PHP 7. John Cogshall offered his experience in project migration, talked about the problems he had to deal with, and how to solve them.
John paid attention to both the features of the new version of the language and the nuances of migrating the project to PHP 7: what you need to know about PHP 7 for the transition, what has changed in the new version, what problems can be expected during migration and how to quickly and painlessly solve them.
Of course, each developer can independently read about the differences between versions and suggest what and how can break. However, John did not limit himself to theory and supported the report with examples from his own experience. Thanks to this, the report turned out to be bright and lively.
Presentation.
Conclusion
International PHP Conference is one of the key events for the PHP developer. As stated on the conference website, its main goal is to share practical know-how in PHP and web development. Thanks to this trip, we not only received a huge amount of new useful information that will be useful in the work, but also were able to personally communicate with world-class web development experts and get answers to their questions from them. A nice bonus was reports on "near-development" topics that helped to see important nuances in the work.