FOF (Framework on Framework) is a rapid application development framework for Joomla!. It's designed to abstract changes between different Joomla versions and provide a better, faster, fluent coding interface based on the same MVC concepts that you learned with Joomla.
FOF 3.6 and later requires Joomla 3.9 or later and PHP 7.1 or later. It will not work on older Joomla and PHP versions.
Joomla 3 includes a very, VERY old version of FOF we have stopped developing in 2015 and declared End of Life in 2016. Please don't use that! That's what FOF looked liked in the early 2010's. This repository has a far better, much newer version. And yes; both versions can run side by side.
This warrants an explanation of the extensions you see in the Extensions, Manage page with FOF in their name:
libraries/fof. It cannot and MUST NOT be removed. If you delete it your site will break – this is still used by some core Joomla components, including Two Factor Authentication.
libraries/f0f(f-zero-f). It should no longer be necessary but please do check first if you have any very old extension still using it.
libraries/fof30. Do NOT remove it manually. It will be uninstalled automatically when the last extension using it is removed.
Joomla 4, thankfully, no longer includes the ancient version of FOF Joomla 3 shipped with. You can use the latest version of FOF with Joomla 4.
Important! We only work towards full compatibility with stable versions of Joomla. Using FOF with pre-release versions of Joomla (alpha, beta, RC) may result in issues. If you have identified the issue to be coming from FOF and not your extensions feel free to file a Pull Request or an issue in this repository. Please be as specific and detailed as possible.
If you want to use FOF to build your extensions and include it with them please read our Wiki for more information.
While our original goal was to follow semantic versioning, a combination of reasons led to us deciding to remove features in a backwards incompatible manner without bumping the major version of FOF.
Backwards incompatible changes and major new features are detailed in the [
UPGRADE NOTES.md](UPGRADE NOTES.md) in FOF's repository.
The following features present in earlier versions of FOF 3 are scheduled for removal:
FOF30\Utils\StringHelper. Use the replacements advised in the docblocks.