PSB Foundation 2.0


When I started this project, I promised that TYPO3 upgrades will become easier because the abstraction layer this
extension offers will remain and all core changes will be tackled under the hood so that you wont have to worry.
Guess what: As the developers of TYPO3 introduced a lot of interesting (but also breaking) changes in v12.0 (which I love!) - and with php 8.1
at hand - I decided to go for a big refactoring. Sorry for that! But I hope that you will love the new structure and
features. Version 1 wont be supported anymore. The following list will guide you through all necessary steps.
I will try to support two major versions in the future.
Thank you for using psb_foundation! 

See https://github.com/phantasie-schmiede/psb-foundation/blob/2.0.0/CHANGELOG.md for upgrading from v1 to v2!

Minimum requirements
------------
- php version: 8.1
- TYPO3 version: 12.4

New features
------------

- Auto-generation of database definitions
- Service for file uploads in frontend
  - uploads files and creates references to a given domain model record
  - configurable via TCA
- Attributes for new TCA types introduced in v12
- More properties and getters for TCA attributes
- Auto-registration of description in TCA if appropriate language label exists
- Support of plural forms in language files
- Support of convenient placeholders in language files
- New attribute for TranslateViewHelper
  - excludedLanguages: matching language keys will return null (bypasses fallbacks)
- New helper functions to FileUtility
  - getMimeType() // based on finfo
  - resolveFileName() // resolves EXT:, but leaves invalid paths untouched (in contrast to GeneralUtility::getFileAbsFileName())
  - write() // wrapper for file_put_contents which creates the file if it does not exist (including directories) and assures correct access rights
- Fallbacks for GlobalVariableService::get()
  - The method no longer throws an exception if a path does not exist and strict mode is set to false.
  - The fallback value can be overridden.
