International PHP Conference – Spring Edition
The International PHP Conference is a globally recognized event for PHP developers, webworkers, IT managers and everyone interested in web-technology.
When PHP turned 20, the core developers presented us with a really nice birthday present: version 7, released in December 2015. Today, PHP 7 is being used in production by a growing number of companies. This day will get you ready for PHP 7, in all aspects. Sebastian Bergmann, creator of PHPUnit, will take you on a tour through the history of the PHP project. Find out where PHP originates from, and how it became one of the most widely used programming languages in the world. Why is there no PHP 6, and which crucial role did Facebook play? You will also take a look under the hood of PHP to better understand why PHP 7 can offer better performance and lower resource usage than PHP 5, and how this will affect the future of PHP. You will learn about the new language features introduced in PHP 7.0 and PHP 7.1 as well as what PHP 7.2 will bring. Arne Blankerts, security and infrastructure expert, will go in-depth about the installation and deployment of the PHP software stack. He will make the point why LAMP is no longer en vogue, and introduce you to some state-of-the-art alternatives. You will learn how to better scale PHP 7 and find out how you can smoothly transition from PHP 5 to PHP 7 from a sytem architect's point of view. Stefan Priebsch, a leading PHP consultant and coach, will show you how to get your codebase ready for PHP 7. How can you leverage new features in legacy projects without having to rewrite everything from scratch? To prepare you for the big migration, common pitfalls will be covered, and you will get to know pragmatic solutions. He will also look at the business impact of PHP 7. The day is rounded up with a Q+A session where no question will go unanswered, and we will open up the room for discussions.
For larger-scale software, building a distributed, event-driven system just makes sense. But how to get there? Usually, the status quo is a big, monolithic piece of legacy software that we just cannot ignore. From the viewpoint of a consultant who, for several years, has helped clients to move away from legacy systems (and thinking), this talk gives deep insights into challenges, solutions, and attempted solutions. We will discuss what has worked, and what did not work, and discuss lessons learned.
Contrary to popular belief, no code is untestable. Sure, writing unit tests for well-crafted code that follows the SOLID principles is easy. But what about legacy code residing in some god class with implicit dependencies and no separation of concerns? We will show you that it is possible to write tests for even the worst code by explaining the why, the what, the how, and the when of software testing while looking at real-world examples.
PHP 7.0 was released one and a half years ago, PHP 7.1 was released half a year ago, and PHP 7.2 will be released later this year. It is high time to have a critical look at the PHP 7 ecosystem. How stable is PHP 7? How wide-spread is its usage in the wild? Have standard solutions, frameworks, libraries, and tools caught up with the new generation? In this session you will learn everything you need to know about the state of PHP 7.
Granted, back in the days setting up SSL/TLS on your webserver was an annoying and cumbersome task: Remembering all those command line options for OpenSSL to generate an actually secure private key and appropriate signing request, choosing the least expensive yet widely accepted certificate authority (CA) and even after finally getting the certificate you're still not done as the latest security problem requires tweaking your webserver's configuration. Luckily, things changed. In 2017, setting up a secure webserver doesn't have to be hard and certificates are free. So let's get started!
We never get it right the first time. So we refactor. But how can we refactor legacy code, when there are no automated tests (or not enough, at least) to make sure that we don not break things? Turns out that you can: using characterization tests, we can make sure that we do not inadvertenly modify the code's behaviour. This talk will introduce a methodology to refactor legacy code that has no automated tests. Rather than talking theory, we will work hands-on with a code example.