--- title: > Reviving an old PHP project pubDate: 2023-12-13 permalink: >- daily/2023/12/13/reviving-an-old-php-project tags: - php - phpc - open-source --- I use Gmail/Google Apps for my email address, and I used to use a LOT of filters. Inspired by a Ruby gem, I created a PHP library that allows me to declare my filters in PHP and create them in XML. I could import the generated XML into Gmail to create the filters. ## Gmail Filter Buider The project is [Gmail Filter Builder], and the last commit was in July 2020. It was based on PHP 7 (unsupported since November 2022) and uses five Symfony components and several other packages. Today, as I looked at my current Gmail filters, I decided to revisit and update Gmail Filter Builder. ## Updating the project I set PHP 8.1 as the minimum required version and used a Nix Flake to ensure this was available. I updated the Symfony components from the 3.x versions to 6.x, the latest versions compatible with PHP 8.1. I also updated the other PHP packages to their compatible versions. After some small changes to the application's code, it worked with PHP 8.1 and generated filters. Once it worked, I updated [the examples][examples]. Whilst it wasn't a difficult process in this instance, having a test suite I could rely on helped me to know it worked as expected during the upgrade. I don't know if I'll continue to use or maintain Gmail Filter Builder again, but it was an interesting exercise to do this morning. [examples]: https://github.com/opdavies/gmail-filter-builder/tree/3.x/examples [gmail filter builder]: https://github.com/opdavies/gmail-filter-builder/tree/3.x