Updating Smarty to version 4.3, see #1845 has brought compatibility with PHP 8.2 but lost compatibility with PHP 7.0. Unfortunately we still see many hosting with PHP 7.0 and I wondered if keeping compatibility with PHP 7.0 was still possible.

After some quick investigations it seems that the only problem is the use of `nullable types` like `?int $var` or `?string $var`. There are only a tiny use of them in Smarty. Removing them makes Smarty 4.3 compatible with PHP 7.0 (as fas as my tests go)
[14.x] keep compatibility with PHP 7.0
This is a GitHub Issue
repo:Piwigo
owner:Piwigo
Title : [14.x] keep compatibility with PHP 7.0
Issue date:

--- start body ---
Updating Smarty to version 4.3, see #1845 has brought compatibility with PHP 8.2 but lost compatibility with PHP 7.0. Unfortunately we still see many hosting with PHP 7.0 and I wondered if keeping compatibility with PHP 7.0 was still possible.

After some quick investigations it seems that the only problem is the use of `nullable types` like `?int $var` or `?string $var`. There are only a tiny use of them in Smarty. Removing them makes Smarty 4.3 compatible with PHP 7.0 (as fas as my tests go)
--- end body ---
