43 lines
1.6 KiB
Markdown
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
|