[!!!][TASK] Replace ClassInfo with ClassSchema
[Packages/TYPO3.CMS.git] / typo3 / sysext / core / Documentation / Changelog / master / Breaking-57594-OptimizeReflectionServiceCacheHandling.rst
1 .. include:: ../../Includes.txt
2
3 ============================================================
4 Breaking: #57594 - Optimize ReflectionService Cache handling
5 ============================================================
6
7 See :issue:`57594`
8
9 Description
10 ===========
11
12 The `extbase_object` cache has been removed completely and all necessary information about objects,
13 mainly @inject information, is now fetched from the ReflectionService as well.
14
15 The ReflectionService does still create `ClassSchema` instances but these were improved a lot. All
16 necessary information is now gathered during the instantiation of `ClassSchema` instances. That means
17 that all necessary data is fetched once and then it can be used everywhere making any further
18 reflection superfluous.
19
20 As runtime reflection has been removed completely, along with it several reflection classes, that
21 analyzed doc blocks, have been removed as well. These are no longer necessary.
22
23 The `extbase_reflection` cache is no longer plugin based and will no longer be stored in the database
24 in the first place. Serialized ClassSchema instances will be stored in `typo3temp/var/Cache`.
25
26 The following classes for internal use only and have been removed:
27
28 * :php:`ClassInfo`
29 * :php:`ClassInfoCache`
30 * :php:`ClassInfoFactory`
31 * :php:`ClassReflection`
32 * :php:`MethodReflection`
33 * :php:`ParameterReflection`
34 * :php:`PropertyReflection`
35
36 The following methods of the PHP class :php:`ReflectionService` have been removed:
37
38 * :php:`injectConfigurationManager`
39 * :php:`setDataCache`
40 * :php:`initialize`
41 * :php:`isInitialized`
42 * :php:`shutdown`
43
44
45 Impact
46 ======
47
48 Installations using the above classes or methods will throw a fatal error.
49
50
51 Affected Installations
52 ======================
53
54 Installations using one of the mentioned classes or methods instead of the ReflectionService API.
55
56
57 Migration
58 =========
59
60 Use the class :php:`ReflectionService` as API which will be automatically initialized on
61 instantiation.
62
63 .. index:: PHP-API, FullyScanned