1. Homepage
  2. Dates
  3. 2018
  4. June
  5. International PHP Conference – Spring Edition

International PHP Conference – Spring Edition

  • Berlin
  • -

The International PHP Conference is a globally recognized event for PHP developers, webworkers, IT managers and everyone interested in web-technology.

Event Website

Accelerate Domain-Driven Design with Event Storming

Event Storming is an emerging group modeling technique using sticky notes and verbal communication that is not only extremely efficient, but also easy to learn, and fun to do. This workshop introduces you to Event Storming with a strong focus on process design. Rather than talking a lot of theory, we will quickly dive into a group exercise and start modeling a real-life business problem, which will lead to valuable insights and is likely to spark off a lot of interesting discussions. We will not stop there, however, but also turn the model into working PHP code using Domain-Driven Design techniques and patterns, so bring your laptop with a working PHP environment. To conclude the day, we will demonstrate how to integrate the code with your favorite framework. This workshop might forever change the way you write code, so do not miss out on it.

Code like a Pro

No matter how experienced you are as a developer: you can always improve. This workshop teaches advanced coding techniques through live coding. First up, we will solve some interesting coding problems that the audience has defined (it's only live if nobody knows the problem beforehand!). In the second segment, we will write code in a test-driven fashion.

In the afternoon, it is your turn to write code. You will work on an interesting non-trivial coding exercise while being individually coached by the trainer. It's your choice whether you want to try test-driven development, write code first, then tests, or write no tests at all. The latter, however, might earn you some angry looks from the trainer ;-)

We will touch on domain-driven design, test-driven development, clean code and SOLID principles, and might even throw in a few design patterns. Every question will be answered! Make sure to bring a laptop with your favourite development environment (current version of PHP, an IDE, and PHPUnit). Attendees should have a good working knowledge of PHP, at least basic OOP skills, and be familiar with the basics of PHPUnit. No frameworks or other third-party code will be needed.

Testing Self-Contained Systems

Congratulations, you successfully replaced your legacy monolith. And not just with a distributed monolith comprised of microservices that depend on each other, but rather with an assembly of self-contained systems that do not share infrastructure. There is just one question left to answer: how do you test an application that consists of self-contained systems? Come to this session and learn the answer!

Tools of the Trade

Developers need tools to be productive. In this session, Sebastian Bergmann presents an overview of the tools every PHP developer needs to know. For instance, we will have a look at dephpend, php-cs-fixer, phpstan, phan, and PHPUnit. Tools are not an end unto themselves, though. Therefore we will also discuss how these tools fit into your development process.

Five Design Patterns You Need To Know

Design Patterns are blueprints for common problems. Knowing patterns and being able to use them will help you to writte better code faster. In addition, once you are familiar with certain patterns, you will also spot them in other people's code. Last but not least, patterns are a common language for developers that will improve communication in your team. We will introduce five design patterns (Command, Strategy, Factory, Template Method, and Chain of Responsibility) every web developer should know and use. We will show example code, and discuss when and where to use each pattern.

CQRS and Event Sourcing Explained

Command/Query Responsibility Segregation (CQRS) and Event Sourcing might become new buzzwords in the PHP community. But what exactly is all the fuzz about, and should you care? This talk provides a comprehensive introduction, and will enable you to decide whether CQRS and Event Sourcing might be the right choice for you.

Optimizing PHP-FPM for Production

The FastCGI Process Manager (PHP-FPM) evolved from a third-party patch to the de-facto standard for running web applications with PHP. By default, though, the configuration shipped with most distributions is designed for minimal resource consumption. And while production servers can operate using these settings even under relatively high load without problems for a while, getting the most out of FPM requires some tuning. Preparing the PHP stack for high load situations and monitoring the performance, optimizing the runtime for specific types of requests, or hardening the security of your environment – there is much to consider.

Rethinking Namespacing in PHP

When introduced in PHP, namespaces where seen as a mere convenience: shorter class names, yet no danger of collisions. Focusing on technicalities, strict rules like PSR-0 or PSR-4 were established to define how namespaces are to be structured and mapped into a directory layout. Since then, developers blindly follow these rules, ignoring the original concept of namespaces and the benefits they can offer. It’s time to change that.

Optimizing NGINX: From Beginner to Expert to Crazy

Powerful load balancer and revese proxy, classic webserver or flexible gateway to PHP-FPM, the NGINX web server software is on its way to becoming the de-facto standard for high performance web serving. But how to configure all these powerful features? Single-Sign On, Request Chaining, Dynamic Backend Selection and more: this session will show configuration tips for beginners, tweaks for experts, and Lua scripting for the crazy!