Skip to content

Instantly share code, notes, and snippets.

@elstamey
Last active March 21, 2017 20:15
Show Gist options
  • Save elstamey/0e15365e701057f8cc92 to your computer and use it in GitHub Desktop.
Save elstamey/0e15365e701057f8cc92 to your computer and use it in GitHub Desktop.
Pulling up Your Legacy App by its Bootstraps!

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.

@elstamey
Copy link
Author

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. And development is happening in production. 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 will talk about a project my team bootstrapped, a legacy CodeIgniter App. We created new models for the application, and we used dependency injection to load them into the old framework. This allowed people to use existing functionality until it could be replaced. We'll review specific examples and a little code from this project. We'll talk about strategies my team used to plan and implement this project. And we'll discuss tools that can modernize your legacy project.

Attendees will learn:

  • common terminology around legacy codebases
  • strategies for assessing the state of the legacy application before deciding how to proceed
  • tools that were crucial to our refactoring project
  • changes to our development workflow
  • the dependency injection needed to incorporate the new tooling and classes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment