What does it do?¶
This package is a simple backport of some aspects of FLOW3. It provides a simplified API to handle Components. Component-Objects marked as 'singleton' are cached. Constructor dependencies are autowired and injected (no setter injection by now).
It's intended to get in touch with some of the great features of FLOW3. It can help to close the gap between today and the day TYPO3 5.0.0 is released.
What does it NOT?¶
GimmeFive! is not intended to be a "compatibility mode" or even a replacement for FLOW3. It dos not use FLOW3 as an underlying framework.
How to use it?¶
Then install the package "gimmefive" as usually with the Extension Manager. No static templates have to be included. Write your own package considering the TYPO3 4.x constraints described below.You may want to install the example package "MyPackage" following these steps:
- copy the subfolder "mypackage" in the folder "typo3conf/ext/"
- install the package with the Extension Manager
- insert the two static templates
- insert the plugin on a page
TYPO3 V4 constraints¶
There are some constraints on using the FLOW3 Coding Guide Lines in V4. By now we have to cope with these constraints.
In V4 classes have to be prefixed by 'tx_'. If you want to get a deeper F3-feeling and use 'F3_' as prefix, you have to set
$TYPO3_CONF_VARS[FE][userFuncClassPrefix] = 'F3_';
$TYPO3_CONF_VARS[FE][userFuncClassPrefix] = NULL;
If you can't change this setting, because it is already in use, you have to prefix all the classes called by TYPO3 (formerly known as 'class.tx_myext_pi1.php') with 'tx_'. Inside your Package you have to prefix your files with 'F3_'.
The first method called by the Framework has to be main(). Otherwise it might not be called in some cases.
The configuration in FLOW3 is done in a PHP file. GimmeFive is using TS for that purpose.
The configuration of Components and the settings of the Package should be seperated from each other. This can be solved only using appropriate subfolders in the directory "Configuration" because all TS Setup files have to be named 'setup.txt'.