Streamlining the Codebase

We predominantly use PHP for our work; it is the language used in 99% of all of our web-based requests. PHP is, at its core, a templating language that is really good at getting data from a data source and then formatting that data for use by a client machine. Our codebase had drifted away from that core philosophy. however, it was doing a lot of data manipulation, a lot of business logic was happening during a user's request for a page on our site, and we were repeating data transformations on every request over and over.

Instead of doing this data transformation on every request, we thought, why not do it once? Now that we were keeping a second copy of the data in our read-only database, it was easy to tailor the data however we needed it. In addition to doing generic data manipulation, we could make changes to content for each publication on which the content appeared. Now there would be one copy in the read-only database for each publication on which a piece of content would appear. That copy of the content would be fully prepared for display on the publication, including URLs, images, and so on, all having the characteristics of the publication. This would make our codebase on the application servers much, much simpler. In essence, we wanted to be able to select all the rows from a single table based on a key with a small number of matching rows and display that data as it was coming in from the database. We nearly achieved just that. Some data manipulation ...

Get Web Operations now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.