- Apr 12, 2024
-
-
Christian Kuhn authored
New version phpdocumentor/reflection-docblock:5.4.0 changed the signature of DocBlockFactory::createInstance(), which now points out a misuse in extbase. The patch changes the instantiation and avoids calling registerTagHandler() since this can and should be hand over to createInstance() directly. Resolves: #103614 Releases: main, 12.4 Change-Id: I344ef7df23dedd950c2775fe2fab93f7bb808786 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/83751 Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Benni Mack <benni@typo3.org>
-
- Oct 24, 2023
-
-
Christian Kuhn authored
It's time to update to latest changes of php-cs-fixer to align with current community rules. This brings a rather huge series of changes, main changes due to single_line_empty_body rule which now formats empty class and method body curly braces into a single line, plus changes from function_declaration rule which tends to avoid more whitespaces. The change has a slight impact on phpstan, we regenerate baseline. To reduce backport headaches, this change is backported to v12 and v11. > composer req --dev friendsofphp/php-cs-fixer:^3.35.1 > Build/Scripts/runTests.sh -s cgl > Build/Scripts/runTests.sh -s phpstanGenerateBaseline Resolves: #102236 Releases: main, 12.4, 11.5 Change-Id: Iea45b10667951672b2194033216c49f580799f55 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81513 Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Jasmina Ließmann <minapokhalo+typo3@gmail.com> Reviewed-by:
Jasmina Ließmann <minapokhalo+typo3@gmail.com> Review...
-
- Aug 07, 2023
-
-
Oliver Bartsch authored
Resolves: #101605 Releases: main, 12.4 Change-Id: I1da8af5b5b0025ad0f25349fe6d4893eddbd5eaf Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/80432 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Oliver Bartsch <bo@cedev.de>
-
- Mar 27, 2023
-
-
Oliver Klee authored
- use arrow functions - make anonymous functions static if possible - add type declarations - use first class callables see https://www.php.net/manual/en/functions.first_class_callable_syntax.php Resolves: #100146 Releases: main Change-Id: Ic4f3f93b7592dc9ce3fdb2a3bd8bf2fea491ebbe Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/78099 Reviewed-by:
Alexander Schnitzler <git@alexanderschnitzler.de> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Alexander Schnitzler <git@alexanderschnitzler.de> Tested-by:
core-ci <typo3@b13.com>
-
- Mar 10, 2023
-
-
Alexander Schnitzler authored
Extbase creates class schema objects for classes to gather information for further analysis. One part of that information is property types. In recent TYPO3 and PHP versions, extbase did expect a property to have zero or one type. Due to changes to PHP (Union Types/Intersection Types), extbase's internal behaviour needs to change and detect all declared types. This is especially useful in models whose properties can now be declared as public Entity|LazyLoadingProxy|null $reference = null; Releases: main Resolves: #98132 Change-Id: I36dd8fd3d152e8dbf0443a5a1866c444d6fecbd0 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75417 Tested-by:
Stefan Froemken <froemken@gmail.com> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Stefan Froemken <froemken@gmail.com> Reviewed-by:
Markus Klein <markus.klein@typo3.org> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Markus Klein <markus.klein@typo3.org>
-
- Nov 20, 2022
-
-
Christian Kuhn authored
Method return annotations identical to the return signature are useless and can be omitted. Resolves: #99143 Releases: main Change-Id: I5f268dfd166667df9df23e504575fcd904678b16 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/76740 Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Stefan Bürk <stefan@buerk.tech>
-
Christian Kuhn authored
Method parameter annotations identical to the parameter signature are useless and can be omitted. Resolves: #99142 Releases: main Change-Id: I907113b7049d551113c84aadec74c93597252069 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/76734 Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Stefan Bürk <stefan@buerk.tech>
-
- Aug 08, 2022
-
-
Alexander Schnitzler authored
To gather information about properties of domain objects, extbase used method DomainObjectInterface::_getProperties() which internally used get_object_vars() which does not return uninitialized properties. This leads to the inability to use such uninitialized properties in models. Hence, those properties are not reconstituted at all when converting an object instance from a database row, eventually leading to fatal errors. To mitigate this issue, extbase does now use the existing information about classes gathered via ClassSchema which gathers information via reflection (anyway). Releases: main, 11.5 Resolves: #95819 Change-Id: I00e2eb4967631ca28a5889e934fd409fd3fdef96 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/72005 Reviewed-by:
Nikita Hovratov <nikita.h@live.de> Reviewed-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Reviewed-by:
Markus Klein <markus.klein@typo3.org> Reviewed-by:
Stefan Froemken <froemken@gmail.com> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Tested-by:
Markus Klein <markus.klein@typo3.org> Tested-by:
Stefan Froemken <froemken@gmail.com> Tested-by:
Benni Mack <benni@typo3.org>
-
- Apr 22, 2022
-
-
Larry Garfield authored
Due to a former lack of missing proper functions to check for strings starting, ending or containing sub-strings, workarounds with strpos() constructs have been used in TYPO3 as well as in just about every PHP application. PHP finally implemented proper native functions for these kind of tasks, which make code more readable and avoid to easily oversee bugs. Additionally, php-cs-fixer provides a rule-set to replace most of these changes, see: https://cs.symfony.com/doc/ruleSets/PHP80MigrationRisky.html This rule is now enabled and used to ensure cleaner code in the future. The rule is applied to ensure green cgl checks. Replacements covered by php-cs-fixer rule: * replace `strpos($haystack, $needle) === 0` with `str_starts_with($haystack, $needle)` * replace `strpos($haystack, $needle) !== 0` with `!str_starts_with($haystack, $needle)` * replace `strpos($haystack, $needle) !== false` with `str_contains($haystack, $needle)` * replace `strpos($haystack, $needle) === false` with `!str_contains($haystack, $needle)` Some additional (manual) replacements on nearby places to changed code places: * replace `substr($haystack, strlen($needle) * -1) === $needle` with `str_ends_with($expression, ']')` * replace `substr($haystack, strlen($needle) * -1) !== $needle` with `!str_ends_with($expression, ']')` Used commands: > Build/Scripts/runTests.sh -s cgl Resolves: #97438 Releases: main Change-Id: Ia1206d4dd08b43597bfe794389f6db8bdeb3de0f Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/74365 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Nikita Hovratov <nikita.h@live.de> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Nikita Hovratov <nikita.h@live.de> Reviewed-by:
crell <larry@garfieldtech.com> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com>
-
- Feb 08, 2022
-
-
Christian Kuhn authored
The match expression in PHP needs default as keyword, not as string literal. Change-Id: I8f242b47c74920034e046ce957cb5830d0584aa0 Resolves: #96794 Related: #96688 Releases: main Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/73362 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Nikita Hovratov <nikita.h@live.de> Tested-by:
Wouter Wolters <typo3@wouterwolters.nl> Tested-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Nikita Hovratov <nikita.h@live.de> Reviewed-by:
Wouter Wolters <typo3@wouterwolters.nl> Reviewed-by:
Anja Leichsenring <aleichsenring@ab-softlab.de>
-
Susanne Moog authored
Since PHP 8, native attributes are supported. In comparison to annotations, attributes have auto-completion, are better readable and were "invented" for storing meta-information about properties. Extbase annotations are already nearly 1:1 translatable to attributes. The following annotations have been enriched for usage as attributes: @Extbase\ORM\Transient @Extbase\ORM\Cascade @Extbase\ORM\Lazy @Extbase\IgnoreValidation @Extbase\Validate Resolves: #96688 Releases: main Change-Id: I8f83790869bcca12cf8c8e2967fd24c468eea104 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/73217 Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Georg Ringer <georg.ringer@gmail.com>
-
- Feb 07, 2022
-
-
Chris Müller authored
Resolves: #96762 Releases: main, 11.5 Change-Id: I3f8300389fae0b6f30a7dc826afb8b2260ea41df Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/73322 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
- Jan 08, 2022
-
-
Nikita Hovratov authored
The type can already be inferred from the source code. The cleanup was run automatically with a PHPStorm plugin. Resolves: #96482 Releases: main Change-Id: I669145adc66dc898f3016de1958cf0105c988243 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/72907 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benjamin Franzke <bfr@qbus.de> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Benjamin Franzke <bfr@qbus.de> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
- Dec 15, 2021
-
-
Christian Kuhn authored
Resolves: #96305 Related: #94115 Releases: main Change-Id: Id048e7f8b8679fd0dc2ab4e7f2120410e053a4df Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/72595 Tested-by:
Nikita Hovratov <nikita.h@live.de> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Nikita Hovratov <nikita.h@live.de> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
- Dec 04, 2021
-
-
Christian Kuhn authored
This is not only deprecated but also obsolete with the removal of extbase ObjectManager object management. Resolves: #96235 Related: #92386 Related: #96208 Releases: main Change-Id: I7c04e152f719e366aaa25c96e71aca9c920495b0 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/72498 Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Nikita Hovratov <nikita.h@live.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Nikita Hovratov <nikita.h@live.de> Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de>
-
- Sep 24, 2021
-
-
Wouter Wolters authored
In some cases it can improve performance too. Resolves: #95210 Releases: master Change-Id: I4915bb1391ec99ff891248545080640965c8f62a Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/70204 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Tested-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de>
-
Benni Mack authored
The rule trailing_comma_in_multiline is added to the PHP CS fixer configuration. This reduces possible merge conflicts in the future. The commands to apply the rules over the code base was ./bin/php-cs-fixer fix \ --path-mode intersection \ --config=Build/php-cs-fixer.php \ typo3/sysext And then: ./bin/php-cs-fixer fix --config=Build/php-cs-fixer.php Resolves: #94553 Releases: master Change-Id: I0ebbfa9edbbcde19aaeb44219a71f2f093ab705e Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69825 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Tested-by:
Wouter Wolters <typo3@wouterwolters.nl> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Reviewed-by:
Wouter Wolters <typo3@wouterwolters.nl> Reviewed-by:
Benni Mack <benni@typo3.org>
-
- Sep 21, 2021
-
-
Benni Mack authored
With PHP 8.0 and symfony/polyfill-php80 it is possible to use native str_starts_with() and str_ends_with() methods. This way, the methods * StringUtility::beginsWith() * StringUtility::endsWith() are marked as deprecated. Resolves: #95293 Releases: master Change-Id: I46d15c2f8b93c5f8b487966b2015ebefb1711348 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/71135 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Wouter Wolters <typo3@wouterwolters.nl> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Wouter Wolters <typo3@wouterwolters.nl> Reviewed-by:
Benni Mack <benni@typo3.org>
-
- Jun 30, 2021
-
-
Oliver Bartsch authored
The method getCollectionValueType() is deprecated since symfony 5.3 and has therefore been replaced by getCollectionValueTypes(). Resolves: #94435 Releases: master Change-Id: I05427349f738cb328d547b221ee0224aa04ca57a Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69658 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Jochen <rothjochen@gmail.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Jochen <rothjochen@gmail.com> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
- Jun 14, 2021
-
-
Alexander Schnitzler authored
When a ClassSchema is created for a class, all methods inside said class are analyzed along with their parameters. Ever since extbase existed, the parameter type has been read from the doc block. ``` /** * @param \Foo\Bar\Baz $baz */ public function injectBaz($baz); ``` Since the whole reflection api and PHP itself have been improved in the recent past, parameter types can be detected without looking at doc blocks. It is recommended to use native type hints as follows: ``` public function injectBaz(\Foo\Bar\Baz $baz); ``` The doc block is neiter needed nor supported in the near future. Of course, developers may add a doc block but TYPO3 will no longer evaluate that as of version 12.0. Releases: master Resolves: #94115 Change-Id: Ifc68c0cb8a42b8ab589043afbaebf5dd5763eee5 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/59450 Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org>
-
- May 06, 2021
-
-
Benni Mack authored
Due to a bug in #94001 the Extbase Reflection of "self" did not work anymore. Resolves: #94076 Releases: master, 10.4 Change-Id: I3658d8175661621a493ac15d19238b4f0d60eb64 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69054 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Hader <oliver.hader@typo3.org> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Oliver Hader <oliver.hader@typo3.org> Reviewed-by:
crell <larry@garfieldtech.com> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
- May 04, 2021
-
-
Larry Garfield authored
PHP 8 deprecated a number of very old bits of the Reflection API. This patch updates ClassSchema to use the newer equivalents. Also fixes some unrelated PHP 8.0 errors around undefined value handling. Resolves: #94001 Releases: master, 10.4 Change-Id: Id235fa830894e9a2dc6465444ec2c6808f18c3aa Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/68898 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Oliver Hader <oliver.hader@typo3.org> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Benni Mack <benni@typo3.org>
-
- Mar 15, 2021
-
-
Benni Mack authored
The change makes "e712dc9e" existing Extbase installations broken, so this is reverted. Change-Id: I141e100a1dcbfe6c2d9b41af090c1c120052a8f4 Resolves: #93745 Reverts: #92946 Releases: master, 10.4 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/68329 Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Hader <oliver.hader@typo3.org> Reviewed-by:
Oliver Hader <oliver.hader@typo3.org>
-
- Mar 01, 2021
-
-
Alexander Schnitzler authored
Several reflection methods are deprecated for a while and throw errors with PHP8. - ReflectionParameter::getClass() - ReflectionParameter::isArray() Both need to be replaced with the new api: - ReflectionParameter::getType() Releases: master, 10.4 Resolves: #92946 Change-Id: I9391cd260f0d4dba5eb03f63c1f74f01bd97e7e4 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/66936 Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Benni Mack <benni@typo3.org>
-
- Dec 14, 2020
-
-
Alexander Schnitzler authored
Since core dependency injection is in place and is about to replace the extbase dependency injection, marking properties with the @Extbase\Inject annotation to invoke property injection is deprecated and must be replaced by one of the following di methods: - constructor injection: works both with core and extbase di and is well suited to make extensions compatible for multiple TYPO3 versions. - setter injection: Basically the same like constructor injection. Both the core and extbase di can handle setter injection and both are supported in different TYPO3 versions. - (core) property injection: This kind of injection can be used but it requires the configuration of services via a Services.yaml in the Configuration folder of an extension. The recommended way is constructor injection. Not only is it the most compatible version of di, it also brings the advantage of clearly showing dependencies of a class. Also, it quickly shows if dependencies stack up which i...
-
- Nov 05, 2020
-
-
Alexander Schnitzler authored
This patch fixes incompatible type usage in function arguments and is preparatory work for introducing native type hints and strict mode in all core files. Releases: master, 10.4 Resolves: #91576 Change-Id: Idb80fced22515fbd25365ff43b64b6618d5cedc3 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/64449 Tested-by:
Daniel Goerz <daniel.goerz@posteo.de> Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Alexander Schnitzler <git@alexanderschnitzler.de> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Daniel Goerz <daniel.goerz@posteo.de> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Alexander Schnitzler <git@alexanderschnitzler.de> Reviewed-by:
Benni Mack <benni@typo3.org>
-
- Jun 03, 2020
-
-
Alexander Schnitzler authored
The property injection with non-public properties had been deprecated with #82975 and has been forgotten to be removed until now. With this patch only public properties can be used for extbase dependency injection. Releases: master Resolves: #90799 Change-Id: I21d4b8bcdd07a20ba9ad7ebd87465cc291572bba Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63821 Tested-by:
Benjamin Franzke <bfr@qbus.de> Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Benjamin Franzke <bfr@qbus.de> Reviewed-by:
Benni Mack <benni@typo3.org>
-
- Apr 15, 2020
-
-
Alexander Schnitzler authored
With this patch, the header comment of php files is automatically added by the php-cs-fixer, which guarantees that its format and place of occurrence remain the same in all files. Files that are copied over from other projects are excluded. Furthermore, files that are kind of inspired by other projects also get the same header comment but may have a second, additional comment explaining its origin. Used command: bin/php-cs-fixer fix --config=Build/php-cs-fixer/header-comment.php Releases: master Resolves: #91024 Change-Id: I5a040517e0fbde6e5a27d589bf2f222078326dc8 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/64159 Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Reviewed-by:
Benni Mack <benni@typo3.org>
-
- Apr 14, 2020
-
-
Benni Mack authored
This change adds two changes 'blank_line_after_opening_tag' => true, 'single_trait_insert_per_statement' => true, to our PHP-CS Fixer configuration, adopting more rules related to PSR-12. Resolves: #91020 Releases: master Change-Id: I180b2cbceb077911bddeb42d9f131e5b32244ed2 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/64158 Tested-by:
Josef Glatz <josefglatz@gmail.com> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Alexander Schnitzler <git@alexanderschnitzler.de> Tested-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Tested-by:
TYPO3com <noreply@typo3.com> Reviewed-by:
Josef Glatz <josefglatz@gmail.com> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Alexander Schnitzler <git@alexanderschnitzler.de> Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de>
-
- Apr 13, 2020
-
-
Alexander Schnitzler authored
As a preparation to be compatible with PSR-12, all spaces in strict type declerations are removed. Releases: master Resolves: #91009 Change-Id: I2b7c2fda42b44168b5c4c6b21711eede2eadaf2e Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/62104 Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de>
-
- Jan 22, 2020
-
-
Alexander Schnitzler authored
composer require phpdocumentor/reflection-docblock:"^4.3.2" composer require phpdocumentor/type-resolver:"~0.5" Upating phpdocumentor/reflection-docblock to at least 4.3.2 allows updating phpdocumentor/type-resolver to a version higher than 0.4 which is needed to get support for resolving collection types in doc blocks which enables the removal of the custom type resolving via extbase/Classes/Reflection/DocBlock/Tags/Var_.php. Releases: master Resolves: #89795 Change-Id: I2126dd9362e51f6dae9e6103c219295c5c3d679b Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/62438 Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Georg Ringer <georg.ringer@gmail.com> Tested-by:
Susanne Moog <look@susi.dev> Reviewed-by:
Daniel Goerz <daniel.goerz@posteo.de> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Susanne Moog <look@susi.dev>
-
- Dec 03, 2019
-
-
Oliver Hader authored
Building reflection cache in ClassSchema on static class properties will lead to side-effects. For instance when ConnectionPool is analyzed for being used with Extbase dependency injection and has been used already during runtime - which is very likely - static property $connections is going to hold all runtime connections. https://www.php.net/manual/en/reflectionclass.getdefaultproperties.php: > This method only works for static properties when used on internal > classes. The default value of a static class property can not be > tracked when using this method on user defined classes. That's why default values of static properties are not resolved anymore. Resolves: #89830 Releases: master Change-Id: I0040c3e4327d084b3192017874154ab5d8466508 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/62518 Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Alexander Schnitzler <review.typo3.org@alexanderschnitzler.de> Tested-by:
Susanne Moog <look@susi.dev> Reviewed-by:
Alexander Schnitzler <review.typo3.org@alexanderschnitzler.de> Reviewed-by:
Susanne Moog <look@susi.dev>
-
- Nov 22, 2019
-
-
Benni Mack authored
This resolves the most common issues related to PHP 7.4 PHP changes: - implode() argument order - using "{}" instead of "[]" in PHP array keys - PHP notices for invalid array key access Resolves: #89737 Releases: master, 9.5, 8.7 Change-Id: Iff0b8a46279d328f66ae6bab927aef2bca881774 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/62367 Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Susanne Moog <look@susi.dev> Tested-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Susanne Moog <look@susi.dev> Reviewed-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Reviewed-by:
Benni Mack <benni@typo3.org>
-
- Nov 21, 2019
-
-
Benni Mack authored
TYPO3 Core v10 should rely on Symfony 4.4 (LTS release) and add support for 5.0 automatically. Symfony 4.4 made breaking changes to the Mailer and Mime components which now need adaptions. Used composer command: composer req "symfony/config":"^4.4 || ^5.0" \ "symfony/console":"^4.4 || ^5.0" \ "symfony/dependency-injection":"^4.4 || ^5.0" \ "symfony/expression-language":"^4.4 || ^5.0" \ "symfony/finder":"^4.4 || ^5.0" \ "symfony/mailer":"^4.4 || ^5.0" \ "symfony/mime":"^4.4 || ^5.0" \ "symfony/property-access":"^4.4 || ^5.0" \ "symfony/property-info":"^4.4 || ^5.0" \ "symfony/routing":"^4.4 || ^5.0" \ "symfony/yaml":"^4.4 || ^5.0" --update-with-all-dependencies Loading composer repositories with package information Updating dependencies (including require-dev) Package operations: 0 installs, 27 updates, 0 removals - Updating symfony/polyfill-ctype (v1.11.0 => v1.12.0) - Updating symfony/filesystem (v4.3.1 => v4.4.0) - Updating symfony/config (v4.3.2 => v4.4.0) - Updating symfony/service-contracts (v1.1.2 => v1.1.8) - Updating symfony/polyfill-php73 (v1.11.0 => v1.12.0) - Updating symfony/polyfill-mbstring (v1.11.0 => v1.12.0) - Updating symfony/console (v4.3.1 => v4.4.0) - Updating symfony/dependency-injection (v4.3.2 => v4.4.0) - Updating symfony/var-exporter (v4.3.1 => v4.4.0) - Updating symfony/cache-contracts (v1.1.1 => v1.1.7) - Updating psr/log (1.0.2 => 1.1.2) - Updating symfony/cache (v4.3.1 => v4.4.0) - Updating symfony/expression-language (v4.3.1 => v4.4.0) - Updating symfony/finder (v4.3.3 => v4.4.0) - Updating symfony/polyfill-php72 (v1.11.0 => v1.12.0) - Updating symfony/polyfill-intl-idn (v1.11.0 => v1.12.0) - Updating symfony/mime (v4.3.2 => v4.4.0) - Updating symfony/event-dispatcher-contracts (v1.1.1 => v1.1.7) - Updating symfony/event-dispatcher (v4.3.1 => v4.4.0) - Updating doctrine/lexer (v1.0.1 => 1.2.0) - Updating egulias/email-validator (2.1.9 => 2.1.11) - Updating symfony/mailer (v4.3.2 => v4.4.0) - Updating symfony/inflector (v4.3.1 => v4.4.0) - Updating symfony/property-access (v4.3.1 => v4.4.0) - Updating symfony/property-info (v4.3.1 => v4.4.0) - Updating symfony/routing (v4.3.1 => v4.4.0) - Updating symfony/yaml (v4.3.1 => v4.4.0) Resolves: #89721 Releases: master Change-Id: I834a79e3880b3a7a95429c2fe052657e21599ec7 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/62354 Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Tested-by:
Susanne Moog <look@susi.dev> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Reviewed-by:
Susanne Moog <look@susi.dev> Reviewed-by:
Benni Mack <benni@typo3.org>
-
- Aug 27, 2019
-
-
Alexander Schnitzler authored
In order to avoid issues creating proper ClassSchema instances for core classes and in order to have a properly renderable documentation with phpdocumentor/phpdocumentor, this patch introduces a new bamboo job that checks all php doc blocks of classes and their properties and methods. Releases: master Resolves: #89023 Change-Id: I13ec766c3ac7c4cea8de84a89e66382ded6d46ba Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/61557 Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Tested-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Reviewed-by:
Anja Leichsenring <aleichsenring@ab-softlab.de>
-
- Jul 05, 2019
-
-
Alexander Schnitzler authored
This patch tackles three different issues with the current ClassSchema property api. 1) Due to the history and the refactoring of the ReflectionService, the ClassSchema class cached data redundantly. Information like the type of a property has been stored multiple times in different cache keys. With this patch, the redundancy has been removed. 2) The information about properties had been roughly grouped by the ones gathered by php reflection and the ones gathered from doc blocks and/or annotations. This kind of grouping had also been exposed to the public by different methods in the Property class. Said grouping has been removed and the api does no longer allow for requesting annotation data. The purpose of the api is to tell the status quo of the information about a property, regardless of how said information had been gathered in the first place. Instead of exposing the annotation data itself via method `getAnnotationValue('lazy')`, there is a specific method for each relevant piece of information like `isLazy()`. 3) A lot of information about properties are boolean values which had been stored as separate keys in the cache. All boolean keys are now represented by a BitSet, which saves quite a lot of bytes during serialization of ClassSchema instances. Releases: master Resolves: #88612 Change-Id: I838c7b996275341d4ee65e6b6c6a4f7de1b92e28 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/61101 Tested-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Reviewed-by:
Anja Leichsenring <aleichsenring@ab-softlab.de>
-
- Jun 28, 2019
-
-
Alexander Schnitzler authored
With the introduction of symfony/property-info, the class \Symfony\Component\PropertyInfo\Extractor\PhpDocExtractor has been used to extract property types from the php doc. Unfortunately said extractor class doesn't cache the so called context object, which is created repeatedly for each property of each class. The context object is used to determine non FQCN's and its creation comes at very high costs. To fix this issue, a custom PhpDocExtractor class has been created which acts just like the original one, but which caches the context objects. Releases: master Fixes: #88033 Change-Id: I54bec5b8adadeb6bde107547cbd115fa8be97526 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/61076 Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de>
-
- Jun 21, 2019
-
-
Alexander Schnitzler authored
The BitSet class has been put into a DataStructure namespace although the core puts classes of these kind into a Type namespace. Therefore, the class has been moved. Releases: master Resolves: #88596 Change-Id: I18385a5c761e002f36bc33dcaeeb26ce7f6d187e Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/61098 Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Mathias Brodala <mbrodala@pagemachine.de> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Tested-by:
Alexander Schnitzler <typo3@alexanderschnitzler.de>
-
- Mar 18, 2019
-
-
Alexander Schnitzler authored
- Use strict type mode - Use type hints whereever possible Releases: master Resolves: #87940 Change-Id: I3f349d1cbb4ceec408de7e5d18cd1f0fc5cf4c7b Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60277 Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Georg Ringer <georg.ringer@gmail.com> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Benni Mack <benni@typo3.org>
-
- Mar 15, 2019
-
-
Alexander Schnitzler authored
Instead of using multiple properties that hold bool flags, ClassSchema now holds all flags in a single BitSet property. This drastically reduces the size of the class schemata cache file, as a lot of properties no longer need to be serialized. Releases: master Resolves: #87631 Change-Id: I12b2d8a2f4e481d55b1f57ce00bfede599b4cb32 Reviewed-on: https://review.typo3.org/c/59626 Tested-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Tested-by:
Susanne Moog <susanne.moog@typo3.org> Reviewed-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Susanne Moog <susanne.moog@typo3.org>
-