Welcome to Symfony Loves PHP USA, the only conference dedicated to Symfony and PHP in the USA.

Thursday 11th October 2018

09:00
0
Keynote
Keynote by Fabien Potencier in Track A

TBA

09:45 PHP Internals for the Inquisitive Developer
Talk by Jeremy Mikola in Track A (40 minutes)

Even if you have no intention of becoming a PHP core developer or creating a PECL extension, cursory knowledge of PHP's inner workings can prove useful. This session will examine the lifecycle of a PHP request and equip you with essential knowledge and tools that can be used to diagnose the occasional segfault or language bug, decipher what that poorly documented SPL class actually does, and confidently answer why a PHP or C implementation is most warranted for a given problem.

10:50
1
Rocking Modern Security with Symfony
Talk by Tugdual Saunier in Track A

Once upon a time, security was... a login form. But woh! Not anymore! Sure, we still have login forms, but we also have JWT authentication, OAuth, two factor auth, SSO implementations and anything else you can dream up. Let's look at some real-world examples of solving these challenges using the latest features & best-practices of Symfony's security component. This will include your User class, user provider, Guard and a lot of tips to create complex authentication systems *and* best practices for making sure your application *stays* secure.

11:35
0
Ready Set Go: Loading Single Page Apps Fast
Talk by Jon Johnson in Track A

First impressions matter. You only have a few milliseconds to make one on the web. How users experience the first few moments of working with your application will influence their entire experience. Looking at a white browser screen for 5 seconds is NOT a good first impression. We can do better without a lot of effort by organizing the way our assets load and are cached. Let's talk details. What kind of cache control header should you send with a fingerprinted asset? How can you add a kill switch to a service worker to avoid leaving your users with a broken application? What makes a javascript application installable as a PWA? How can you notify users that a new version of your app is available? As the Lead Developer and Architect for the Ilios Project I've answered all of these questions in production on an open source application used by health science universities on 5 continents.

14:00
2
Trend analysis and machine learning in PHP
Talk by Michael Cullum in Track A

The world we live in is one where data is one of the most valuable assets. There are many different pieces of data we can analyse on all kind of data from analytics of user behaviour of your platform, user generated content, monitoring of exception rates, or when your core business model is to provide some kind of analytics platform. This talk will talk about how you can, in your Symfony applications, perform some simple trend analysis techniques to build models, analyse data to get useful information and spot anomalies.

14:45
1
Orchestrating Symfony for the Enterprise
Talk by Kristen Costagliola in Track A

Symfony's architecture lends itself well to use across enterprise environments but how do you migrate an existing legacy code base or scale your applications to meet the needs of a growing business? In this talk, Kristen will cover a variety of pitfalls, successes, and technology decisions from Datto's experience of migrating to Symfony in an existing enterprise environment. Whether you are just starting out learning Symfony, maintaining a healthy Symfony application, or expanding Symfony's presence in your company, this talk will give you tools and the questions to ask yourself to help your company succeed.

15:50
2
Practical Guide to Service, Config, Secrets & Deployment
Talk by Ryan Weaver in Track A

Symfony's configuration system has improved *a lot* in recent years. Let's step back and look at how we can tackle all of the most common problems using the new approaches! This will include tricks for configuring services as *easily* as possible, handling different environment configuration and the hugely important topic of environment variables and secrets. We'll discuss both practical approaches to handling environment variables on production as well as best-practices for deploying a super secure app.

Friday 12th October 2018

09:00
1
Uncle Cal's Career Advice for Developers
Keynote by Cal Evans in Track A

Kids, Uncle Cal has been around the career block a few times. Depending on how you define the term “job” I have held more than 15 jobs in my adult career. This doesn’t include side-hustles, moonlighting, or wild ideas. I’ve worked for the good, the bad, and the ugly; and trust me, there is a lot of ugly out there. In this talk we’ll examine a few of the life-lessons I’ve learned the hard way. Some of them will be interesting, some of them insightful, some of them silly. Regardless, these lessons were generally learned by making big enough mistakes. Spend a little time with me, learn the lessons I’ve learned so that you don’t repeat my mistakes. You are then free to go make your own new mistakes.

09:45
1
Symfony Cache: a premium recipe to fast apps
Talk by Nicolas Grekas in Track A

Introduced in version 3.1, the Symfony Cache component has 3 promises: performance, safety, and ease of use. Internally and by default, we are already using it out of the box for system caches. It started as a reference implementation of the PSR-6 standard. Along the years and by contributions from the community, it gained a battle-tested feature-set and adapters for many storages. But the next version, 4.2, is the bigger milestone. With some raw examples and benchmarks, let's review how to select the best backend for your needs, wire them in your apps, do tags-based invalidation, protect against cache stampede, etc. Caching might be the most efficient strategy to fast apps.

10:50
1
Doctrine for Beginners
Talk by Jonathan H. Wage in Track A

Come to this talk prepared to learn about the Doctrine PHP open source project. The Doctrine project has been around for over a decade and has evolved from database abstraction software that dates back to the PEAR days. The packages provided by the Doctrine project have been downloaded almost 500 million times from packagist. In this talk we will take you through how to get started with Doctrine and how to take advantage of some of the more advanced features.

11:35
2
Webpack Encore: Tips, Tricks, Questions & Best Practices
Talk by Ryan Weaver in Track A

With Webpack, your JavaScript & CSS code can have superpowers you've only dreamed up. And with Symfony's Webpack Encore, you can get all of this with almost zero setup time! In this talk, we'll quickly learn the basics of Symfony's Webpack Encore. Then, we'll turn to lessons we've learned over the past year and answer popular questions and common problems people run into when moving to Encore. We'll also dive into a host of lesser-known best practices that you can follow to make sure your frontend coding is as streamlined as possible. A modern frontend build system: all in the time of one talk.

14:00
1
MySQL 8 Tips and Tricks
Talk by Dave Stokes in Track A

MySQL 8 has many new features that you will learn to exploit in this session. See how resource groups can be setup to control processing threads for classes of queries, how to use invisible indexes, setting up roles for users, why you need windowing functions for analytics, and how to set up optimizer hints for better query plans. All this and more to make you use of MySQL 8 more muscular!

14:45
1
Symfony Messenger: Messages, Queues, Workers and more
Talk by Samuel ROZE in Track A

Symfony 4.1 comes with a new Component: Messenger. It drastically simplifies the use of message buses and handling asynchronous operations using message queues such as RabbitMq. In this talk, I will introduce you to this component and show you how to get started with it.

15:50
1
Building global web apps with multi-region hosting
Talk by Jordi Boggiano in Track A

This session will explore various setups and case studies from my attempts at hosting sites used by global audiences. There are many ways this can be achieved with different levels of success, budgets and global-ness. The talk will touch on Terraform, AWS, global DNS resolution and CDNs amongst other things.