[!!!][FEATURE] Discard TYPO3 class loader
[Packages/TYPO3.CMS.git] / typo3 / sysext / core / Documentation / Changelog / master / Breaking-67212-DiscardLegacyClassLoader.rst
1 =============================================
2 Breaking: #67212 - Discard TYPO3 class loader
3 =============================================
4
5 Description
6 ===========
7
8 The former TYPO3 class loader has been removed in favor of the composer class loader.
9
10
11 Impact
12 ======
13
14 ext_autoload.php files are **not** evaluated any more. Instead all class files are registered
15 automatically during extension installation and written into a class map file. This class map file is
16 not changed during regular requests, but only if the extension list changes (by using the Extension Manager).
17
18 These class information files are located in the typo3temp/autoload/ directory and will also be automatically created
19 if they do not exist.
20
21 Non-namespaced classes with Tx\_ naming convention like Tx_Extension_ClassName are only resolved through
22 the aforementioned class map, but not dynamically. This means that extension authors need to re-generate the class map files
23 when introducing new classes. Thus it is highly recommended to use a Classes folder with PSR-4 standard class files in there.
24
25 When installing TYPO3 with composer, it also means that all extensions need to bring their own composer.json file with class loading information,
26 or the class loading information of all extensions need to be specified in the root composer.json for class loading to work properly.
27
28
29 Affected Installations
30 ======================
31
32 All installations are affected.
33
34
35 Migration
36 =========
37
38 No migration is needed during upgrade if TYPO3 is installed in the classic way.
39 If TYPO3 is installed in a distribution via composer, missing class loading information need to be provided in root composer.json
40 for all extensions which do not bring their own composer.json manifest.