oliverdavies.uk/source/_daily_emails/2023-12-13.md

43 lines
1.6 KiB
Markdown

---
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