The thing is, stuff like the Orm implementing ArrayAcess would need to have mixed types on extended methods to match parent signature. Which would break fuel compatibility with PHP 7.x. Which would lead to have a PHP 8 specific version. But fuel is currently at 1.9 dev, so no minor version left before 2.0 to do that without breaking production apps.
Harro, do you have a plan on how to handle the situation ? If so, I can do the work to port it.
I agree that breaking compatibility is bad, and PHP 8.1 having mixed type on standard library classes (which isn't supported before 8) is a poor decision. But it can't seem to be avoided.
At least, composer php requirement can be defined so install or upgrade of this version won't work if the PHP version is before 8.
Sound good for 1.9 release. I'm starting to work on the php 8.1 branch of core and packages.
Ok, nice. We are porting the fuel core and packages repo to 8.1 on some app. Small changes here and there, but nothing too big. From what I see, the only changes that will break backward compat are in the ORM package.
Let me know when you are done with versions so we can reviews the needed changes.
Ok. Also, I continue to work on Fuel website and doc when I have time, slowly but surely.
Please find a preview screenshot of the doc in converted in markdown and built with vuepress here.
I also plan to do a « quickstart » tutorial to show how to build a small app with fuel and a frontend modern framework like vue or svelte, that could be part of the doc.
I've added some initial changes to support PHP 8.1
I've switched the app I'm currently working on to the latest 8.1, and as far as I've been able to test it, it runs fine (except some issues with installed 3rd-party package that are not compatible).
Please create an issue in the correct repo if you bump into issues that need fixing.
Uncaught exception Fuel\Core\PhpErrorException: 8192 - Fuel\Core\Model_Crud implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary)
Uncaught exception Fuel\Core\FuelException: 0 - Can not connect to the Redis engine. The error message says "Unknown response: ". in /var/www/platform/fuel/core/classes/cache/storage/redis.php on line 61