The scope of PHP developers has changed dramatically: if you have built your applications from scratch in pure PHP back in the days, you can trust in numerous frameworks covering all relevant topics, from routing over security aspects to dependency injection nowadays. Also, there is a sophisticated tooling, a stable infrastructure and the achievements of DevOps culture; and to be honest, the classic LAMP stack has become part of the web devlopment history. The range of skills to be covered and to be handled is way broader in modern days – and thus more exciting. This is exactly what we want to represent at the PHP track at FrOSCon.
Beyond PHP : it's not (just) about the code!
Talk by Wim Godden (45 minutes)
Most PHP developers focus on writing code. But creating Web applications is about much more than just writing PHP. Take a step outside the PHP cocoon and into the big PHP ecosphere to find out how small code changes can make a world of difference on servers and network. This talk is an eye-opener for developers who spend over 80% of their time coding, debugging and testing.
You just became a team lead. What now?
Talk by Volker Dusch (45 minutes)
Maybe you built the first version of your product many years back on your own, and your endeavor is growing. Maybe you've been with the company for a couple of years, and people trust you a lot. Maybe nontechnical coworkers always approached you first because you've been able to explain things clearly to them. Whatever happened: YOU ARE IN CHARGE OF A TEAM OF PEOPLE NOW. Moving away from primarily dealing with code to dealing with people can be scary. But don't panic! You are already working on effectively communicating with your coworkers a lot through your code, in planning, and on many other occasions. Like all the other skills you have picked up along the way Leadership is something you can learn and iteratively improve. This talk aims to walk you through most of the challenges I have faced or helped others work through when taking this journey in companies that work with web technologies. We'll discuss topics including process management, team motivation, recruiting, growing people and how to actually get something useful out of these dreaded 'performance reviews' you might be asked to do.
Asynchronous Request Processing
Talk by Jan Gregor Triebel (45 minutes)
Modern web applications or apis often handle heavy load tasks, requiring intense disk i/o or complex database queries. This talks demonstrates how and - more importantly - why such operations should be processed asynchronously. Finally, we will cover some of the most common pitfalls and obstacles developers face when implementing asynchronous processing. The code example is implemented in a simple Symfony 2 app but translates easily into other frameworks.
Putting V8 into PHP for fun & profit
Talk by Stefan Siegl (45 minutes)
International Components for Unicode
Talk by Claudio (45 minutes)
Internationalisation is going to be tough when you have to implement all the different data representations (numbers, currencies, dates, collations and much more) by yourself. Fear not, because with the International Components for Unicode, or ICU for short, every developer has access to the different formats and information every developer needs. For C, C++, Java... and with the Intl extension PHP too. This talk shows how you can keep your Projects localized with the Intl extension.
Automation for PHP people
Talk by Sebastian Feldmann (45 minutes)
You want to develop great apps, but you are distracted by spinning up dev environments, updating test systems, ensure your code quality, running all your tests and release your software all the time. If your company is growing it is important to have an environment that scales. In this talk I will show you how to automate repetitive tasks and how to combine great automation tools like Jenkins, Ant and Ansible and make use of some handy PHP libraries, so you can focus on the things that matter: Writing great software
Talk by Kamil Szymanski (45 minutes)
Defensive programming is a set of rules, which helps developers writing code, that's more resistant to errors and easier to debug without using any tool. In this talk I'll show you some of the principles, that will help you writing better code. All backed by examples.
How to replace MongoDb with Postgres and not to f*** up.
Talk by Oleg Schelkunov (45 minutes)
Refactoring is a permanent topic that is going on developers minds. Although, replacing sure huge part of application such as main database could be fatal. The talk will focus on recent experience of refactoring a complex CRM system that included a complete replacement of a NoSQL database with a relational one. The talk will cover not only technical point of view, but also includes a sight from management and business perspectives.
Talk by Sebastian Bergmann (45 minutes)
PHPUnit is a powerful tool for writing and running tests for your PHP-based software. It is not uncommon, though, that extending PHPUnit's core functionality makes sense to adapt the tool to the specific needs of your software. This session, presented by the creator of PHPUnit, teaches best practices for writing custom PHPUnit extensions and distributing them using Composer as well as PHP Archives (PHAR). You will learn how to implement custom assertions, logging capabilities, and solutions for fixture management, for instance.
Powering an Alexa Voice Skill with Symfony
Talk by Jan Gregor Triebel (45 minutes)
Attendees will learn the ups and downs of configuring a voice skill using Amazon’s developer dashboard. This talk then demonstrates how to build an api that is used to power an Amazon Alexa Voice skill. We will try to stick to symfony core components (Forms, Dependency Injection, Validator …) wherever possible. Besides the coding part this talk will also cover tools that are helpful when developing and hosting an Alexa skill as well as discuss ways to test the skill with or without an actual Amazon Echo device (such as running Alexa in a browser or on a raspberry pi).
Learn Redis the hard way ... in production
Talk by Andy Grunwald (45 minutes)
For our products, like the trivago hotel search, we are using Redis a lot. The use cases vary: Caching, temporary storage of data before moving those into another storage or a typical database for hotel meta data including persistence. The main parts of the hotel search are build with PHP for the frontend (web) and Java for the backend part. In this talk we will focus on the combination of our PHP app and Redis. Both are running fine, but it was a long and hard way up to the current situation. We will tell you the story how we learned to use Redis. Including our failures and experience.