View the Full Schedule

Pulling up Your Legacy App by Its Bootstraps!

Your mission, should you choose to accept it, is to support an application built on an older framework. Refactoring isn't an easy option. The code is untested and nowhere near best practices or standards. In this session, we'll talk about strategies to incorporate modern PHP coding practices to add features and functionality and retiring the older code in pieces. We'll review specific examples and code from a real project where we bootstrapped a legacy application that needed a lot of help to become useful to its users and simpler for developers to maintain. We'll talk about strategies to leave the existing code in place until the new code is ready to replace it in whole or in pieces. Attendees will learn common terminology around legacy codebases, strategies for assessing the state of the legacy application before deciding how to proceed, and the tools that were crucial to our refactoring project. The specific tools are from the PHP ecosystem, but they are applicable in other legacy environments (testing packages, package manager, database migration tool, and dependency injection container tools) - general ideas of how the Events, CQRS, and DDD worked to help us improve our application.

Emily Stamey

Emily Stamey (@elstamey)


Emily Stamey works at InQuest, a network security company based in Washington, DC. She learned PHP in 1999 and loved it. This ignited her passion for Open Source! In her free time she enjoys music, legos, making things, playing games, and socializing. She is an active volunteer in the community as Director of Women Who Code Raleigh/Durham, Organizer of TrianglePHP, and volunteers for Girl Develop It. She enjoys helping people share ideas and learn together, which has led to her speaking at conferences.