IT Blog, Web Development,

How to Start Working on Inherited PHP Disaster in 5 Steps

2 m read
QArea Expert
QArea Expert Marketing Manager
July 30, 2014
Share on
Reading Time: 2 minutes

Often times it happens in the life of php software development specialists that their managers assign them somebody else’s project nobody wants to take. Why? Because everything’s awfully messed up there and it seems you’ll never make it work.

But who is the big php development guru setting to work any software if not you? All you need is just some advice to get you up and running with it.

What’s wrong?

The most terrible PHP project a developer may inherit has certain characteristics that make it a real programming chaos. Usually they are the following:

  1. The original developers aren’t there anymore.
  2. The code supports no version control.
  3. Development and testing of the project were both done on live server by editing and renaming PHP files. Also there are lots of copies of the same files and no way to understand which of them are actually being used.
  4. Many files have other files included into them and these multiple inclusions are messing thing up very much.
  5. The project has been handed over across many developers, each with his own way of coding.

How to make it right

To start working on a project like this, first you need to get everything in order.

Here are 5 steps we recommend that you take to ensure this:

  1. Version control. It’s imperative that you get that project into version control disregarding how messy it is. Even if it works somehow and you break anything, you’ll need to go back to that working state, or just compare your changes with it to at least understand what went wrong. It’s necessary to do small and frequent check-ins while refactoring to have then less code when you have to roll back.
  2. Database. Ensure everything in it is relatively normalized, columns are named clearly, etc.
  3. PHP code. If that code is likely to take too much patchwork, it makes sense to fit it to some framework. I recommend that you choose Symfony or CakePHP as they have a way of separating concerns which makes it easier to decide where each piece of code should go. This isn’t a simple thing to do, but once it’s done, you are already halfway to a fairly constructed app. Besides, test facilities built in a good framework make it far easier to refactor your code, too. Before changing some piece of existing functionality, write a test covering it which will let you know if you broke anything afterwards.
  4. Cleaning up.With you database sorted, model code in models, and controller code in controllers, it’s time to take care of such presentation-level stuff as standardizing things on a single AJAX/JS library, and cleaning up CSS.
  5. Development environment. Finally, you should set up your local development environment. Use turnkey WAMP packages or install to a virtual machine like Linux Box or VirtualBox. You also need to get a separate integration testing environment which would mimics your live server. Ensure that he live server is used only for running live code.

Have you ever come across the same problems? What did you do?

Categories

Recent Posts

  • Best Frontend Programming Languages to Create Beautiful and Fast Interfaces

    Read more
  • Capability Maturity Model Integration – QArea's big journey

    Read more
  • QArea is a Unique Services Provider in 2019 CEE Awards

    Read more
  • Ultimate Development Trends in 2018 to Reward Your Business in 2019

    Read more
  • Why You Should Write Your Next Microservice Using Golang

    Read more
  • 7 Reasons to Truly Love Microservices

    Read more
  • The Best Languages for Microservices

    Read more
  • QArea's Year: Summing Up 2018

    Read more

Subscribe

Yes

Share on
Privacy Preference Center