45-60 min presentations
Do you have multiple PHP projects with the same or similar logic? Are you sick of your team copy pasting code from one project to another? Let's talk about pulling all that shared code into one (or more) libraries and how to implement them in your projects via composer. We'll also be touching on related topics like statis, packagist, toran proxy, composer settings, code structure, autoloading, and strategies to use when refactoring classes into your new library. Quit duplicating code and come check out this talk!
Have you wished that your developers could skip the sysadmin request for a new remote server and just provision it themselves? Better yet, how about standing up an entire duplicate environment just for them with a click of a button? Do you have a "bus factor of 1" when it comes to how your infrastructure looks like? Introducing Terraform! Hasicorps tool for provisioning and managing cloud resources regardless of service provider. I'll show you how to provision the initial infrastructure and maintaining it. We'll also cover different approaches to managing Terraforms statefile. There are some things to know and consider when choosing Terraform. We will cover its amazing benefits over manually managing cloud resources and pitfalls to watch out for.
Are you still using Vagrant/VMs and not quite sold on Docker yet? Let's jump into Docker and it's benefits over traditional VM methods. I'll show you a few solid ways to develop locally with Docker Compose. We'll cover how to build a Docker image with your PHP app and deployment strategies. We'll also cover some helpful tips when using Docker and how to get the most from it. Join me in the new switch from VMs to Containers!
Need a simple API without a lot of magic? In this talk we will cover building an API with the micro framework Silex. Although the code will be very simple, I'll show you how to add providers and extend functionality in Silex. I'll also show you how to set yourself up to upgrade the project into a full framework like Symfony.
Spotting bugs is a skill developed over time with practice but this talk will put you on the fast track to being a Bug Exterminator! One day, your production environment will break and you have to reproduce it on your local box. Worst yet, getting XDebug wired up to step through isn't very straight forward when using Docker, Vagrant, or remote machines. In this talk we will cover how to properly setup XDebug in various situations. We will cover how to use PHPStorm to step through your PHP and JavaScript code and other neat features. We will also cover how to profile your code to find slow bottlenecks in your app. I'll also share war stories of battles I've endured and what caused these issues.
About 3 hours long to complete.
In this tutorial we will cover setting up a continuous delivery pipeline with Jenkins. We will use Terraform to provision our AWS resources needed and how to use Jenkins to manage your cloud infrastructure. We'll go through the steps needed to get your PHP app packaged in a docker image and deployed to AWS Elastic Container Service. I'll show you how to match your environments as closely as possible and some things to watch out for. You'll need an AWS, Docker.io, and GitHub account. For a meaningful setup you will want a paid AWS account. You will also need a paid account if you want private repositories for github and docker. At the end of this talk, you'll be able to push some code to GitHub and your Jenkins instance will automatically pick that change up to test, build, plan, and deploy your PHP application to the cloud. I'll also show you how to rollback code, update composer dependencies, build docker images, manage resources, and setup RC, QA, staging, and other environments. Please come prepared by signing up for these accounts and having an editor capable of editing PHP, Groovy, Bash, Dockerfile, HCL (Terraform), and JSON.