diff --git a/.github/patch-types.php b/.github/patch-types.php
index a308eda397d51..a714a3370358d 100644
--- a/.github/patch-types.php
+++ b/.github/patch-types.php
@@ -32,6 +32,7 @@
case false !== strpos($file, '/src/Symfony/Component/Debug/Tests/Fixtures/'):
case false !== strpos($file, '/src/Symfony/Component/DependencyInjection/Tests/Compiler/OptionalServiceClass.php'):
case false !== strpos($file, '/src/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/autowiring_classes.php'):
+ case false !== strpos($file, '/src/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/compositetype_classes.php'):
case false !== strpos($file, '/src/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/intersectiontype_classes.php'):
case false !== strpos($file, '/src/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/MultipleArgumentsOptionalScalarNotReallyOptional.php'):
case false !== strpos($file, '/src/Symfony/Component/DependencyInjection/Tests/Fixtures/CheckTypeDeclarationsPass/IntersectionConstructor.php'):
@@ -46,6 +47,7 @@
case false !== strpos($file, '/src/Symfony/Component/Serializer/Tests/Normalizer/Features/ObjectOuter.php'):
case false !== strpos($file, '/src/Symfony/Component/VarDumper/Tests/Fixtures/NotLoadableClass.php'):
case false !== strpos($file, '/src/Symfony/Component/VarDumper/Tests/Fixtures/ReflectionIntersectionTypeFixture.php'):
+ case false !== strpos($file, '/src/Symfony/Component/VarDumper/Tests/Fixtures/ReflectionUnionTypeWithIntersectionFixture.php'):
continue 2;
}
diff --git a/.github/workflows/integration-tests.yml b/.github/workflows/integration-tests.yml
index cf6787a8d8e77..cf869eea173cd 100644
--- a/.github/workflows/integration-tests.yml
+++ b/.github/workflows/integration-tests.yml
@@ -12,6 +12,9 @@ concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
+permissions:
+ contents: read
+
jobs:
tests:
diff --git a/.github/workflows/intl-data-tests.yml b/.github/workflows/intl-data-tests.yml
index bb54e306c3d4d..477278e416c4d 100644
--- a/.github/workflows/intl-data-tests.yml
+++ b/.github/workflows/intl-data-tests.yml
@@ -16,6 +16,9 @@ concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
+permissions:
+ contents: read
+
jobs:
tests:
name: Tests
diff --git a/.github/workflows/phpunit-bridge.yml b/.github/workflows/phpunit-bridge.yml
index e8a19360a8b32..d10098d119114 100644
--- a/.github/workflows/phpunit-bridge.yml
+++ b/.github/workflows/phpunit-bridge.yml
@@ -16,6 +16,9 @@ concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
+permissions:
+ contents: read
+
jobs:
lint:
name: Lint
diff --git a/.github/workflows/psalm.yml b/.github/workflows/psalm.yml
index 8631d6c6a2b3d..96f34721f4a46 100644
--- a/.github/workflows/psalm.yml
+++ b/.github/workflows/psalm.yml
@@ -11,6 +11,9 @@ concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
+permissions:
+ contents: read
+
jobs:
psalm:
name: Psalm
diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml
index 6be35796056d5..c9bd72085e803 100644
--- a/.github/workflows/unit-tests.yml
+++ b/.github/workflows/unit-tests.yml
@@ -12,6 +12,9 @@ concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
+permissions:
+ contents: read
+
jobs:
tests:
diff --git a/CHANGELOG-4.4.md b/CHANGELOG-4.4.md
index 0231db585bc0b..9e6451685ab5c 100644
--- a/CHANGELOG-4.4.md
+++ b/CHANGELOG-4.4.md
@@ -7,6 +7,31 @@ in 4.4 minor versions.
To get the diff for a specific change, go to https://github.com/symfony/symfony/commit/XXX where XXX is the change hash
To get the diff between two versions, go to https://github.com/symfony/symfony/compare/v4.4.0...v4.4.1
+* 4.4.44 (2022-07-29)
+
+ * bug #47069 [Security] Allow redirect after login to absolute URLs (Tim Ward)
+ * bug #47073 [HttpKernel] Fix non-scalar check in surrogate fragment renderer (aschempp)
+ * bug #43329 [Serializer] Respect default context in DateTimeNormalizer::denormalize (hultberg)
+ * bug #47086 Workaround disabled "var_dump" (nicolas-grekas)
+ * bug #40828 [BrowserKit] Merge fields and files recursively if they are multidimensional array (januszmk)
+ * bug #47048 [Serializer] Fix XmlEncoder encoding attribute false (alamirault)
+ * bug #47000 [ErrorHandler] Fix return type patching for list and class-string pseudo types (derrabus)
+ * bug #43998 [HttpKernel] [HttpCache] Don't throw on 304 Not Modified (aleho)
+ * bug #46981 [Mime] quote address names if they contain parentheses (xabbuh)
+ * bug #46960 [FrameworkBundle] Fail gracefully when forms use disabled CSRF (HeahDude)
+ * bug #46973 [DependencyInjection] Fail gracefully when attempting to autowire composite types (derrabus)
+ * bug #46963 [Mime] Fix inline parts when added via attachPart() (fabpot)
+ * bug #46968 [PropertyInfo] Make sure nested composite types do not crash ReflectionExtractor (derrabus)
+ * bug #46931 Flush backend output buffer after closing. (bradjones1)
+ * bug #46905 [BrowserKit] fix sending request to paths containing multiple slashes (xabbuh)
+ * bug #42033 [HttpFoundation] Fix deleteFileAfterSend on client abortion (nerg4l)
+ * bug #46941 [Messenger] Fix calls to deprecated DBAL methods (derrabus)
+ * bug #46863 [Mime] Fix invalid DKIM signature with multiple parts (BrokenSourceCode)
+ * bug #46808 [HttpFoundation] Fix TypeError on null `$_SESSION` in `NativeSessionStorage::save()` (chalasr)
+ * bug #46790 [HttpFoundation] Prevent PHP Warning: Session ID is too long or contains illegal characters (BrokenSourceCode)
+ * bug #46800 Spaces in system temp folder path cause deprecation errors in php 8 (demeritcowboy)
+ * bug #46797 [Messenger] Ceil waiting time when multiplier is a float on retry (WissameMekhilef)
+
* 4.4.43 (2022-06-26)
* bug #46765 [Serializer] Fix denormalization union types with constructor (Gwemox)
diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md
index ec4fddccc86be..99d8c121d9fce 100644
--- a/CONTRIBUTORS.md
+++ b/CONTRIBUTORS.md
@@ -21,8 +21,8 @@ The Symfony Connect username in parenthesis allows to get more information
- Jordi Boggiano (seldaek)
- Roland Franssen (ro0)
- Victor Berchet (victor)
- - Tobias Nyholm (tobias)
- Yonel Ceruto (yonelceruto)
+ - Tobias Nyholm (tobias)
- Oskar Stark (oskarstark)
- Ryan Weaver (weaverryan)
- Javier Eguiluz (javier.eguiluz)
@@ -34,35 +34,35 @@ The Symfony Connect username in parenthesis allows to get more information
- Samuel ROZE (sroze)
- Pascal Borreli (pborreli)
- Romain Neutron
- - Joseph Bielawski (stloyd)
- Jules Pietri (heah)
+ - Joseph Bielawski (stloyd)
- Drak (drak)
- Abdellatif Ait boudad (aitboudad)
- Lukas Kahwe Smith (lsmith)
- Jan Schädlich (jschaedl)
- Martin Hasoň (hason)
- - Jeremy Mikola (jmikola)
- Jérôme Tamarelle (gromnan)
+ - Jeremy Mikola (jmikola)
- Jean-François Simon (jfsimon)
- Benjamin Eberlei (beberlei)
- Kevin Bond (kbond)
- Igor Wiedler
- Valentin Udaltsov (vudaltsov)
- Vasilij Duško (staff)
+ - HypeMC (hypemc)
- Matthias Pigulla (mpdude)
- Laurent VOULLEMIER (lvo)
- Pierre du Plessis (pierredup)
- - Grégoire Paris (greg0ire)
- - Jonathan Wage (jwage)
- Antoine Makdessi (amakdessi)
- - HypeMC (hypemc)
+ - Grégoire Paris (greg0ire)
- Gabriel Ostrolucký (gadelat)
+ - Jonathan Wage (jwage)
- David Maicher (dmaicher)
- Titouan Galopin (tgalopin)
- Alexandre Salomé (alexandresalome)
- William DURAND
- - ornicar
- Alexander Schranz (alexander-schranz)
+ - ornicar
- Dany Maillard (maidmaid)
- Eriksen Costa
- Diego Saint Esteben (dosten)
@@ -70,26 +70,26 @@ The Symfony Connect username in parenthesis allows to get more information
- Alexander Mols (asm89)
- Gábor Egyed (1ed)
- Francis Besset (francisbesset)
+ - Alexandre Daubois (alexandre-daubois)
- Vasilij Dusko | CREATION
- - Bulat Shakirzyanov (avalanche123)
- Mathieu Santostefano (welcomattic)
+ - Bulat Shakirzyanov (avalanche123)
- Iltar van der Berg
- - Alexandre Daubois (alexandre-daubois)
- Miha Vrhovnik (mvrhov)
- Saša Stamenković (umpirsky)
- Mathieu Piot (mpiot)
- - Guilhem N (guilhemn)
- Alex Pott
+ - Guilhem N (guilhemn)
- Vladimir Reznichenko (kalessil)
- Sarah Khalil (saro0h)
- Konstantin Kudryashov (everzet)
+ - Vincent Langlet (deviling)
- Bilal Amarni (bamarni)
+ - Tomas Norkūnas (norkunas)
- Eriksen Costa
- Florin Patan (florinpatan)
- Peter Rehm (rpet)
- - Tomas Norkūnas (norkunas)
- Henrik Bjørnskov (henrikbjorn)
- - Vincent Langlet (deviling)
- Konstantin Myakshin (koc)
- Andrej Hudec (pulzarraider)
- Julien Falque (julienfalque)
@@ -104,8 +104,8 @@ The Symfony Connect username in parenthesis allows to get more information
- Fran Moreno (franmomu)
- Jáchym Toušek (enumag)
- Malte Schlüter (maltemaltesich)
- - Vasilij Dusko
- Mathias Arlaud (mtarld)
+ - Vasilij Dusko
- Denis (yethee)
- Arnout Boks (aboks)
- Charles Sarrazin (csarrazi)
@@ -125,14 +125,15 @@ The Symfony Connect username in parenthesis allows to get more information
- Toni Uebernickel (havvg)
- Bart van den Burg (burgov)
- Jordan Alliot (jalliot)
+ - Smaine Milianni (ismail1432)
- John Wards (johnwards)
- Dariusz Ruminski
- Lars Strojny (lstrojny)
- - Smaine Milianni (ismail1432)
+ - Yanick Witschi (toflar)
- Antoine Hérault (herzult)
- Konstantin.Myakshin
+ - Rokas Mikalkėnas (rokasm)
- Arman Hosseini (arman)
- - Yanick Witschi (toflar)
- Arnaud Le Blanc (arnaud-lb)
- Maxime STEINHAUSSER
- Peter Kokot (maastermedia)
@@ -145,22 +146,23 @@ The Symfony Connect username in parenthesis allows to get more information
- YaFou
- Gary PEGEOT (gary-p)
- Chris Wilkinson (thewilkybarkid)
- - Rokas Mikalkėnas (rokasm)
- Brice BERNARD (brikou)
- Roman Martinuk (a2a4)
- Gregor Harlan (gharlan)
+ - Antoine Lamirault
- Baptiste Clavié (talus)
- Adrien Brault (adrienbrault)
- Michal Piotrowski
- marc.weistroff
- lenar
+ - Jesse Rushlow (geeshoe)
- Théo FIDRY
- jeremyFreeAgent (jeremyfreeagent)
- Włodzimierz Gajda (gajdaw)
- Christian Scheb
- Guillaume (guill)
- Mathieu Lechat (mat_the_cat)
- - Jesse Rushlow (geeshoe)
+ - Tugdual Saunier (tucksaun)
- Jacob Dreesen (jdreesen)
- Joel Wurtz (brouznouf)
- Michael Babker (mbabker)
@@ -169,7 +171,6 @@ The Symfony Connect username in parenthesis allows to get more information
- zairig imad (zairigimad)
- Colin Frei
- Javier Spagnoletti (phansys)
- - Tugdual Saunier (tucksaun)
- excelwebzone
- Jérôme Parmentier (lctrs)
- HeahDude
@@ -209,6 +210,7 @@ The Symfony Connect username in parenthesis allows to get more information
- Timo Bakx (timobakx)
- Juti Noppornpitak (shiroyuki)
- Joe Bennett (kralos)
+ - Hugo Alliaume (kocal)
- Anthony MARTIN
- Colin O'Dell (colinodell)
- Sebastian Hörl (blogsh)
@@ -223,16 +225,16 @@ The Symfony Connect username in parenthesis allows to get more information
- Chi-teck
- Guilliam Xavier
- Nate Wiebe (natewiebe13)
- - Hugo Alliaume (kocal)
- Michael Voříšek
- SpacePossum
- - Antoine Lamirault
+ - Andreas Schempp (aschempp)
- Pablo Godel (pgodel)
- Romaric Drigon (romaricdrigon)
- Andréia Bohner (andreia)
- Jannik Zschiesche
- Rafael Dohms (rdohms)
- George Mponos (gmponos)
+ - Fritz Michael Gschwantner (fritzmg)
- Aleksandar Jakovljevic (ajakov)
- jwdeitch
- Jurica Vlahoviček (vjurica)
@@ -243,7 +245,8 @@ The Symfony Connect username in parenthesis allows to get more information
- Farhad Safarov (safarov)
- Jérémy Derussé
- Nicolas Philippe (nikophil)
- - Andreas Schempp (aschempp)
+ - Hubert Lenoir (hubert_lenoir)
+ - Florent Mata (fmata)
- mcfedr (mcfedr)
- Denis Brumann (dbrumann)
- Maciej Malarz (malarzm)
@@ -260,6 +263,7 @@ The Symfony Connect username in parenthesis allows to get more information
- Dmitrii Poddubnyi (karser)
- soyuka
- Rouven Weßling (realityking)
+ - BoShurik
- Zmey
- Clemens Tolboom
- Oleg Voronkovich
@@ -269,6 +273,7 @@ The Symfony Connect username in parenthesis allows to get more information
- Ben Hakim
- Sylvain Fabre (sylfabre)
- Filippo Tessarotto (slamdunk)
+ - Tom Van Looy (tvlooy)
- 77web
- Bohan Yang (brentybh)
- Bastien Jaillot (bastnic)
@@ -279,7 +284,6 @@ The Symfony Connect username in parenthesis allows to get more information
- Dawid Nowak
- Amal Raghav (kertz)
- Jonathan Ingram
- - Fritz Michael Gschwantner (fritzmg)
- Artur Kotyrba
- Tyson Andre
- Thomas Landauer (thomas-landauer)
@@ -291,11 +295,9 @@ The Symfony Connect username in parenthesis allows to get more information
- Sebastien Morel (plopix)
- Sergey (upyx)
- Yoann RENARD (yrenard)
- - BoShurik
+ - Thomas Lallement (raziel057)
- Timothée Barray (tyx)
- James Halsall (jaitsu)
- - Hubert Lenoir (hubert_lenoir)
- - Florent Mata (fmata)
- Mikael Pajunen
- Warnar Boekkooi (boekkooi)
- Marco Petersen (ocrampete16)
@@ -303,13 +305,13 @@ The Symfony Connect username in parenthesis allows to get more information
- Dmitrii Chekaliuk (lazyhammer)
- Clément JOBEILI (dator)
- Vilius Grigaliūnas
- - Tom Van Looy (tvlooy)
- Marek Štípek (maryo)
- Patrick Landolt (scube)
- François Pluchino (francoispluchino)
- Daniel Espendiller
- Arnaud PETITPAS (apetitpa)
- Dorian Villet (gnutix)
+ - Wojciech Kania
- Alexey Kopytko (sanmai)
- Sergey Linnik (linniksa)
- Richard Miller
@@ -330,7 +332,6 @@ The Symfony Connect username in parenthesis allows to get more information
- Julien Pauli
- Islam Israfilov (islam93)
- Oleg Andreyev (oleg.andreyev)
- - Thomas Lallement (raziel057)
- Daniel Gorgan
- Hendrik Luup (hluup)
- Martin Herndl (herndlm)
@@ -366,6 +367,7 @@ The Symfony Connect username in parenthesis allows to get more information
- Dominique Bongiraud
- Hidde Wieringa (hiddewie)
- Christopher Davis (chrisguitarguy)
+ - Lukáš Holeczy (holicz)
- Florian Lonqueu-Brochard (florianlb)
- Leszek Prabucki (l3l0)
- Emanuele Panzeri (thepanz)
@@ -391,7 +393,6 @@ The Symfony Connect username in parenthesis allows to get more information
- Pascal Montoya
- Julien Brochet
- Michaël Perrin (michael.perrin)
- - Wojciech Kania
- Tristan Darricau (tristandsensio)
- Fabien S (bafs)
- Victor Bocharsky (bocharsky_bw)
@@ -425,6 +426,7 @@ The Symfony Connect username in parenthesis allows to get more information
- Iker Ibarguren (ikerib)
- Manuel Reinhard (sprain)
- Johann Pardanaud
+ - Alexis Lefebvre
- Indra Gunawan (indragunawan)
- Tim Goudriaan (codedmonkey)
- Harm van Tilborg (hvt)
@@ -449,7 +451,6 @@ The Symfony Connect username in parenthesis allows to get more information
- Xavier Perez
- Arjen Brouwer (arjenjb)
- Tavo Nieves J (tavoniievez)
- - Lukáš Holeczy (holicz)
- Arjen van der Meijden
- Patrick McDougle (patrick-mcdougle)
- Jerzy (jlekowski)
@@ -467,14 +468,17 @@ The Symfony Connect username in parenthesis allows to get more information
- David Badura (davidbadura)
- Uwe Jäger (uwej711)
- Eugene Leonovich (rybakit)
+ - Damien Alexandre (damienalexandre)
- Joseph Rouff (rouffj)
- Félix Labrecque (woodspire)
- GordonsLondon
- Roman Anasal
- Jan Sorgalla (jsor)
- Piotr Kugla (piku235)
+ - Quynh Xuan Nguyen (seriquynh)
- Ray
- Philipp Cordes (corphi)
+ - Simon Podlipsky (simpod)
- Chekote
- bhavin (bhavin4u)
- Pavel Popov (metaer)
@@ -494,6 +498,7 @@ The Symfony Connect username in parenthesis allows to get more information
- Frank de Jonge
- Chris Tanaskoski
- julien57
+ - Loïc Frémont (loic425)
- Ben Ramsey (ramsey)
- Matthieu Auger (matthieuauger)
- Josip Kruslin (jkruslin)
@@ -505,12 +510,12 @@ The Symfony Connect username in parenthesis allows to get more information
- Beau Simensen (simensen)
- Robert Kiss (kepten)
- Zan Baldwin (zanbaldwin)
- - Alexis Lefebvre
- Antonio J. García Lagar (ajgarlag)
- Alexandre Quercia (alquerci)
- Marcos Sánchez
- Jérôme Tanghe (deuchnord)
- Kim Hemsø Rasmussen (kimhemsoe)
+ - Maximilian Reichel (phramz)
- Dane Powell
- jaugustin
- Dmytro Borysovskyi (dmytr0)
@@ -530,7 +535,6 @@ The Symfony Connect username in parenthesis allows to get more information
- Martin Kirilov (wucdbm)
- Chris Smith (cs278)
- Florian Klein (docteurklein)
- - Damien Alexandre (damienalexandre)
- Bilge
- Rhodri Pugh (rodnaph)
- Manuel Kiessling (manuelkiessling)
@@ -544,15 +548,14 @@ The Symfony Connect username in parenthesis allows to get more information
- Andrew Moore (finewolf)
- Bertrand Zuchuat (garfield-fr)
- Marc Morera (mmoreram)
- - Quynh Xuan Nguyen (seriquynh)
- Gabor Toth (tgabi333)
- realmfoo
- Thomas Tourlourat (armetiz)
- Andrey Esaulov (andremaha)
- - Simon Podlipsky (simpod)
- Grégoire Passault (gregwar)
- Jerzy Zawadzki (jzawadzki)
- Ismael Ambrosi (iambrosi)
+ - Yannick Ihmels (ihmels)
- Saif Eddin G
- Emmanuel BORGES (eborges78)
- Aurelijus Valeiša (aurelijus)
@@ -566,6 +569,7 @@ The Symfony Connect username in parenthesis allows to get more information
- Adrian Rudnik (kreischweide)
- Pavel Batanov (scaytrase)
- Francesc Rosàs (frosas)
+ - Andrii Dembitskyi
- Bongiraud Dominique
- janschoenherr
- Marko Kaznovac (kaznovac)
@@ -577,7 +581,6 @@ The Symfony Connect username in parenthesis allows to get more information
- James Hemery
- Egor Taranov
- Philippe Segatori
- - Loïc Frémont (loic425)
- Adrian Nguyen (vuphuong87)
- benjaminmal
- Thierry T (lepiaf)
@@ -595,6 +598,7 @@ The Symfony Connect username in parenthesis allows to get more information
- Erkhembayar Gantulga (erheme318)
- Fractal Zombie
- Gunnstein Lye (glye)
+ - Thomas Talbot (ioni)
- Kévin THERAGE (kevin_therage)
- Noémi Salaün (noemi-salaun)
- Michel Hunziker
@@ -638,6 +642,7 @@ The Symfony Connect username in parenthesis allows to get more information
- rtek
- Inal DJAFAR (inalgnu)
- Christian Gärtner (dagardner)
+ - Artem Stepin (astepin)
- Adrien Jourdier (eclairia)
- Ivan Grigoriev (greedyivan)
- Tomasz Kowalczyk (thunderer)
@@ -652,6 +657,7 @@ The Symfony Connect username in parenthesis allows to get more information
- Thomas P
- Kristijan Kanalaš (kristijan_kanalas_infostud)
- Felix Labrecque
+ - mondrake (mondrake)
- Yaroslav Kiliba
- “Filip
- Simon Watiau (simonwatiau)
@@ -679,6 +685,7 @@ The Symfony Connect username in parenthesis allows to get more information
- Dalibor Karlović
- Randy Geraads
- Sanpi (sanpi)
+ - James Gilliland (neclimdul)
- Eduardo Gulias (egulias)
- Andreas Leathley (iquito)
- Nathanael Noblet (gnat)
@@ -724,7 +731,6 @@ The Symfony Connect username in parenthesis allows to get more information
- Tamas Szijarto
- stlrnz
- Adrien Wilmet (adrienfr)
- - Yannick Ihmels (ihmels)
- Alex Bacart
- hugovms
- Michele Locati
@@ -763,7 +769,6 @@ The Symfony Connect username in parenthesis allows to get more information
- Shakhobiddin
- Kai
- Lee Rowlands
- - Maximilian Reichel (phramz)
- siganushka (siganushka)
- Alain Hippolyte (aloneh)
- Karoly Negyesi (chx)
@@ -793,7 +798,6 @@ The Symfony Connect username in parenthesis allows to get more information
- Vadim Kharitonov (vadim)
- Oscar Cubo Medina (ocubom)
- Karel Souffriau
- - Andrii Dembitskyi
- Christophe L. (christophelau)
- Daniël Brekelmans (dbrekelmans)
- Simon Heimberg (simon_heimberg)
@@ -814,12 +818,14 @@ The Symfony Connect username in parenthesis allows to get more information
- Thiago Cordeiro (thiagocordeiro)
- Julien Maulny
- Brian King
+ - Paul Oms
- Steffen Roßkamp
- Alexandru Furculita (afurculita)
- Michel Salib (michelsalib)
- Valentin Jonovs
- geoffrey
- Bastien DURAND (deamon)
+ - Benoit Galati (benoitgalati)
- Jon Gotlin (jongotlin)
- Jeanmonod David (jeanmonod)
- Daniel González (daniel.gonzalez)
@@ -833,6 +839,7 @@ The Symfony Connect username in parenthesis allows to get more information
- Markus Bachmann (baachi)
- Roger Guasch (rogerguasch)
- Luis Tacón (lutacon)
+ - Alex Hofbauer (alexhofbauer)
- Andrii Popov (andrii-popov)
- lancergr
- Ivan Nikolaev (destillat)
@@ -842,6 +849,7 @@ The Symfony Connect username in parenthesis allows to get more information
- ampaze
- Arturs Vonda
- Xavier Briand (xavierbriand)
+ - Daniel Badura
- Asmir Mustafic (goetas)
- vagrant
- Asier Illarramendi (doup)
@@ -851,7 +859,6 @@ The Symfony Connect username in parenthesis allows to get more information
- Vlad Gregurco (vgregurco)
- Boris Vujicic (boris.vujicic)
- Chris Sedlmayr (catchamonkey)
- - mondrake (mondrake)
- Kamil Kokot (pamil)
- Seb Koelen
- Christoph Mewes (xrstf)
@@ -893,13 +900,14 @@ The Symfony Connect username in parenthesis allows to get more information
- Pablo Díez (pablodip)
- Damien Fa
- Kevin McBride
+ - BrokenSourceCode
- Sergio Santoro
- - James Gilliland (neclimdul)
- Philipp Rieber (bicpi)
- Dennis Væversted (srnzitcom)
- Manuel de Ruiter (manuel)
- nikos.sotiropoulos
- Eduardo Oliveira (entering)
+ - Jonathan Johnson (jrjohnson)
- Eugene Wissner
- Ricardo Oliveira (ricardolotr)
- Roy Van Ginneken (rvanginneken)
@@ -907,6 +915,7 @@ The Symfony Connect username in parenthesis allows to get more information
- Barry vd. Heuvel (barryvdh)
- Jon Dufresne
- Chad Sikorra (chadsikorra)
+ - Mathias Brodala (mbrodala)
- Evan S Kaufman (evanskaufman)
- Jonathan Sui Lioung Lee Slew (jlslew)
- mcben
@@ -914,6 +923,7 @@ The Symfony Connect username in parenthesis allows to get more information
- Filip Procházka (fprochazka)
- stoccc
- Markus Lanthaler (lanthaler)
+ - Gigino Chianese (sajito)
- Xav` (xavismeh)
- Remi Collet
- Mathieu Rochette (mathroc)
@@ -957,6 +967,7 @@ The Symfony Connect username in parenthesis allows to get more information
- Rodrigo Borrego Bernabé (rodrigobb)
- John Bafford (jbafford)
- Emanuele Iannone
+ - Gasan Guseynov (gassan)
- Ondrej Machulda (ondram)
- Denis Gorbachev (starfall)
- Martin Morávek (keeo)
@@ -990,12 +1001,12 @@ The Symfony Connect username in parenthesis allows to get more information
- Markus S. (staabm)
- Geoffrey Tran (geoff)
- Elan Ruusamäe (glen)
+ - Brad Jones
- Nicolas de Marqué (nicola)
- a.dmitryuk
- Jannik Zschiesche
- Jan Ole Behrens (deegital)
- Mantas Var (mvar)
- - Paul Oms
- Yann LUCAS (drixs6o9)
- Sebastian Krebs
- Htun Htun Htet (ryanhhh91)
@@ -1036,7 +1047,9 @@ The Symfony Connect username in parenthesis allows to get more information
- Iliya Miroslavov Iliev (i.miroslavov)
- Safonov Nikita (ns3777k)
- Simon DELICATA
+ - Thibault Buathier (gwemox)
- vitaliytv
+ - Arnaud Frézet
- Nicolas Martin (cocorambo)
- luffy1727
- LHommet Nicolas (nicolaslh)
@@ -1044,7 +1057,6 @@ The Symfony Connect username in parenthesis allows to get more information
- Amirreza Shafaat (amirrezashafaat)
- Laurent Clouet
- Adoni Pavlakis (adoni)
- - Alex Hofbauer (alexhofbauer)
- Maarten Nusteling (nusje2000)
- Ahmed EBEN HASSINE (famas23)
- Eduard Bulava (nonanerz)
@@ -1096,6 +1108,7 @@ The Symfony Connect username in parenthesis allows to get more information
- Jacek Wilczyński (jacekwilczynski)
- Hany el-Kerdany
- Wang Jingyu
+ - Benjamin Georgeault (wedgesama)
- Åsmund Garfors
- Maxime Douailin
- Jean Pasdeloup
@@ -1105,6 +1118,7 @@ The Symfony Connect username in parenthesis allows to get more information
- tamar peled
- Reinier Kip
- Geoffrey Brier (geoffrey-brier)
+ - Sofien Naas
- Christophe Meneses (c77men)
- Vladimir Tsykun
- Andrei O
@@ -1167,6 +1181,7 @@ The Symfony Connect username in parenthesis allows to get more information
- Israel J. Carberry
- Julius Kiekbusch
- Miquel Rodríguez Telep (mrtorrent)
+ - Tamás Nagy (t-bond)
- Sergey Kolodyazhnyy (skolodyazhnyy)
- umpirski
- Benjamin
@@ -1174,6 +1189,7 @@ The Symfony Connect username in parenthesis allows to get more information
- Chris Heng (gigablah)
- Oleksii Svitiashchuk
- Tristan Bessoussa (sf_tristanb)
+ - FORT Pierre-Louis (plfort)
- Richard Bradley
- Nathanaël Martel (nathanaelmartel)
- Nicolas Jourdan (nicolasjc)
@@ -1189,7 +1205,6 @@ The Symfony Connect username in parenthesis allows to get more information
- Andreas Erhard (andaris)
- Evgeny Efimov (edefimov)
- John VanDeWeghe
- - Daniel Badura
- Oleg Mifle
- gnito-org
- Michael Devery (mickadoo)
@@ -1198,6 +1213,7 @@ The Symfony Connect username in parenthesis allows to get more information
- Markkus Millend
- Clément
- Jorrit Schippers (jorrit)
+ - Aurimas Niekis (aurimasniekis)
- maxime.perrimond
- rvoisin
- cthulhu
@@ -1286,6 +1302,7 @@ The Symfony Connect username in parenthesis allows to get more information
- develop
- flip111
- Artem Oliinyk (artemoliynyk)
+ - Marvin Feldmann (breyndotechse)
- fruty
- VJ
- RJ Garcia
@@ -1298,9 +1315,9 @@ The Symfony Connect username in parenthesis allows to get more information
- Ondrej Exner
- Mark Sonnabaum
- Adiel Cristo (arcristo)
- - Artem Stepin (astepin)
- Fabian Kropfhamer (fabiank)
- Junaid Farooq (junaidfarooq)
+ - Chris Jones (magikid)
- Massimiliano Braglia (massimilianobraglia)
- Swen van Zanten (swenvanzanten)
- Frankie Wittevrongel
@@ -1346,6 +1363,7 @@ The Symfony Connect username in parenthesis allows to get more information
- Tayfun Aydin
- Arne Groskurth
- Ilya Chekalsky
+ - zenas1210
- Ostrzyciel
- Julien DIDIER (juliendidier)
- Ilia Sergunin (maranqz)
@@ -1384,6 +1402,7 @@ The Symfony Connect username in parenthesis allows to get more information
- BrokenSourceCode
- Fabian Haase
- Nikita Popov (nikic)
+ - Robert Fischer (sandoba)
- Tarjei Huse (tarjei)
- Besnik Br
- Michael Olšavský
@@ -1475,6 +1494,7 @@ The Symfony Connect username in parenthesis allows to get more information
- Martin (meckhardt)
- Radosław Kowalewski
- JustDylan23
+ - buffcode
- Juraj Surman
- Victor
- Andreas Allacher
@@ -1493,7 +1513,6 @@ The Symfony Connect username in parenthesis allows to get more information
- John Stevenson
- everyx
- Stanislav Gamayunov (happyproff)
- - Jonathan Johnson (jrjohnson)
- Alexander McCullagh (mccullagh)
- Paul L McNeely (mcneely)
- Mike Meier (mykon)
@@ -1504,6 +1523,7 @@ The Symfony Connect username in parenthesis allows to get more information
- Francis Turmel (fturmel)
- Nikita Nefedov (nikita2206)
- Bernat Llibre
+ - Daniel Burger
- cgonzalez
- Ben
- Joni Halme
@@ -1534,6 +1554,7 @@ The Symfony Connect username in parenthesis allows to get more information
- Zhuravlev Alexander (scif)
- Stefano Degenkamp (steef)
- James Michael DuPont
+ - kor3k kor3k (kor3k)
- Eric Schildkamp
- agaktr
- Vincent CHALAMON
@@ -1725,7 +1746,6 @@ The Symfony Connect username in parenthesis allows to get more information
- robmro27
- Vallel Blanco
- Bastien Clément
- - Thomas Talbot
- Benjamin Franzke
- Pavinthan
- Sylvain METAYER
@@ -1784,7 +1804,6 @@ The Symfony Connect username in parenthesis allows to get more information
- Evgeniy Koval
- Claas Augner
- Balazs Csaba
- - Benoit Galati (benoitgalati)
- Bill Hance (billhance)
- Douglas Reith (douglas_reith)
- Harry Walter (haswalt)
@@ -1817,7 +1836,6 @@ The Symfony Connect username in parenthesis allows to get more information
- Michel Bardelmeijer
- Ikko Ashimine
- Erwin Dirks
- - Brad Jones
- Markus Ramšak
- den
- George Dietrich
@@ -1889,7 +1907,6 @@ The Symfony Connect username in parenthesis allows to get more information
- Jordane VASPARD (elementaire)
- Erwan Nader (ernadoo)
- Faizan Akram Dar (faizanakram)
- - Gasan Guseynov (gassan)
- Greg Szczotka (greg606)
- Ian Littman (iansltx)
- Nathan DIdier (icz)
@@ -1901,7 +1918,6 @@ The Symfony Connect username in parenthesis allows to get more information
- Florent Viel (luxifer)
- Maks 3w (maks3w)
- Mamikon Arakelyan (mamikon)
- - Mathias Brodala (mbrodala)
- Michiel Boeckaert (milio)
- Mike Milano (mmilano)
- Guillaume Lajarige (molkobain)
@@ -1945,21 +1961,23 @@ The Symfony Connect username in parenthesis allows to get more information
- Antoine Bluchet (soyuka)
- Patrick Kaufmann
- Anton Dyshkant
+ - Kirill Nesmeyanov (serafim)
- Reece Fowell (reecefowell)
- Guillaume Gammelin
- Valérian Galliat
- d-ph
- Renan Taranto (renan-taranto)
- - Thomas Talbot
- Rikijs Murgs
- Uladzimir Tsykun
- Amaury Leroux de Lens (amo__)
- Christian Jul Jensen
+ - Franck RANAIVO-HARISOA (franckranaivo)
- Alexandre GESLIN
- The Whole Life to Learn
- Mikkel Paulson
- ergiegonzaga
- Liverbool (liverbool)
+ - Julien Boudry
- Dalibor Karlović
- Sam Malone
- Ha Phan (haphan)
@@ -1976,15 +1994,18 @@ The Symfony Connect username in parenthesis allows to get more information
- Ganesh Chandrasekaran (gxc4795)
- Sander Marechal
- Franz Wilding (killerpoke)
+ - Ferenczi Krisztian (fchris82)
- Oleg Golovakhin (doc_tr)
- Icode4Food (icode4food)
- Radosław Benkel
+ - Bert ter Heide (bertterheide)
- Kevin Nadin (kevinjhappy)
- jean pasqualini (darkilliant)
- Ross Motley (rossmotley)
- ttomor
- Mei Gwilym (meigwilym)
- Michael H. Arieli
+ - Jitendra Adhikari (adhocore)
- Tom Panier (neemzy)
- Fred Cox
- Luciano Mammino (loige)
@@ -1994,8 +2015,10 @@ The Symfony Connect username in parenthesis allows to get more information
- Anne-Sophie Bachelard
- Marvin Butkereit
- Ben Oman
+ - Jack Worman (jworman)
- Chris de Kok
- Andreas Kleemann (andesk)
+ - Hubert Moreau (hmoreau)
- Manuele Menozzi
- Anton Babenko (antonbabenko)
- Irmantas Šiupšinskas (irmantas)
@@ -2033,6 +2056,7 @@ The Symfony Connect username in parenthesis allows to get more information
- tamirvs
- gauss
- julien.galenski
+ - Florian Guimier
- Christian Neff (secondtruth)
- Chris Tiearney
- Oliver Hoff
@@ -2043,6 +2067,7 @@ The Symfony Connect username in parenthesis allows to get more information
- Goran Juric
- Laurent G. (laurentg)
- Nicolas Macherey
+ - Bhujagendra Ishaya
- Guido Donnari
- Mert Simsek (mrtsmsk0)
- Lin Clark
@@ -2070,12 +2095,12 @@ The Symfony Connect username in parenthesis allows to get more information
- Paul Mitchum (paul-m)
- Angel Koilov (po_taka)
- Dan Finnie
- - Sofien Naas
- Ken Marfilla (marfillaster)
- Max Grigorian (maxakawizard)
- benatespina (benatespina)
- Denis Kop
- Jean-Guilhem Rouel (jean-gui)
+ - Ivan Yivoff
- EdgarPE
- jfcixmedia
- Dominic Tubach
@@ -2086,11 +2111,11 @@ The Symfony Connect username in parenthesis allows to get more information
- Serge (nfx)
- Mikkel Paulson
- Michał Strzelecki
- - Aurimas Niekis (aurimasniekis)
- Hugo Fonseca (fonsecas72)
- Martynas Narbutas
- Bailey Parker
- Antanas Arvasevicius
+ - Kris Kelly
- Eddie Abou-Jaoude (eddiejaoude)
- Haritz Iturbe (hizai)
- Nerijus Arlauskas (nercury)
@@ -2113,7 +2138,6 @@ The Symfony Connect username in parenthesis allows to get more information
- Jonathan Hedstrom
- Peter Smeets (darkspartan)
- Julien Bianchi (jubianchi)
- - Tamás Nagy (t-bond)
- Robert Meijers
- Tijs Verkoyen
- James Sansbury
@@ -2177,6 +2201,7 @@ The Symfony Connect username in parenthesis allows to get more information
- Oxan van Leeuwen
- pkowalczyk
- Soner Sayakci
+ - Andreas Hennings
- Max Voloshin (maxvoloshin)
- Nicolas Fabre (nfabre)
- Raul Rodriguez (raul782)
@@ -2184,11 +2209,11 @@ The Symfony Connect username in parenthesis allows to get more information
- MightyBranch
- Kacper Gunia (cakper)
- Derek Lambert (dlambert)
+ - Mark Pedron (markpedron)
- Peter Thompson (petert82)
- error56
- Felicitus
- alexpozzi
- - Marvin Feldmann (breyndotechse)
- Krzysztof Przybyszewski (kprzybyszewski)
- Boullé William (williamboulle)
- Frederic Godfrin
@@ -2226,7 +2251,9 @@ The Symfony Connect username in parenthesis allows to get more information
- Jelte Steijaert (jelte)
- David Négrier (moufmouf)
- Quique Porta (quiqueporta)
+ - Tobias Feijten (tobias93)
- Andrea Quintino (dirk39)
+ - Andreas Heigl (heiglandreas)
- Tomasz Szymczyk (karion)
- Peter Dietrich (xosofox)
- Alex Vasilchenko
@@ -2249,7 +2276,9 @@ The Symfony Connect username in parenthesis allows to get more information
- Ross Tuck
- omniError
- Zander Baldwin
+ - László GÖRÖG
- Kévin Gomez (kevin)
+ - Kevin van Sonsbeek (kevin_van_sonsbeek)
- Mihai Nica (redecs)
- Andrei Igna
- azine
@@ -2299,8 +2328,8 @@ The Symfony Connect username in parenthesis allows to get more information
- Steve Frécinaux
- Constantine Shtompel
- Jules Lamur
- - zenas1210
- Renato Mendes Figueiredo
+ - Raphaël Droz
- Eric Stern
- ShiraNai7
- Antal Áron (antalaron)
@@ -2318,6 +2347,7 @@ The Symfony Connect username in parenthesis allows to get more information
- Jason Desrosiers
- m.chwedziak
- Andreas Frömer
+ - Bikal Basnet
- Philip Frank
- Lance McNearney
- Illia Antypenko (aivus)
@@ -2339,10 +2369,10 @@ The Symfony Connect username in parenthesis allows to get more information
- Martin Pärtel
- Frédéric Bouchery (fbouchery)
- Patrick Daley (padrig)
+ - Phillip Look (plook)
- Max Summe
- Ema Panz
- Chihiro Adachi (chihiro-adachi)
- - Benjamin Georgeault (wedgesama)
- Raphaëll Roussel
- Tadcka
- Abudarham Yuval
@@ -2400,6 +2430,7 @@ The Symfony Connect username in parenthesis allows to get more information
- Michael Lively (mlivelyjr)
- Abderrahim (phydev)
- Attila Bukor (r1pp3rj4ck)
+ - Thomas Boileau (tboileau)
- Thomas Chmielowiec (chmielot)
- Jānis Lukss
- rkerner
@@ -2410,6 +2441,7 @@ The Symfony Connect username in parenthesis allows to get more information
- AnrDaemon
- Charly Terrier (charlypoppins)
- Emre Akinci (emre)
+ - Rustam Bakeev (nommyde)
- psampaz (psampaz)
- Maxwell Vandervelde
- kaywalker
@@ -2441,7 +2473,6 @@ The Symfony Connect username in parenthesis allows to get more information
- Ciaran McNulty (ciaranmcnulty)
- Andrew (drew)
- j4nr6n (j4nr6n)
- - kor3k kor3k (kor3k)
- Stelian Mocanita (stelian)
- Gautier Deuette
- Kirk Madera
@@ -2469,6 +2500,7 @@ The Symfony Connect username in parenthesis allows to get more information
- georaldc
- wusuopu
- Wouter de Wild
+ - Peter Potrowl
- povilas
- Gavin Staniforth
- Alessandro Tagliapietra (alex88)
@@ -2495,6 +2527,7 @@ The Symfony Connect username in parenthesis allows to get more information
- Martin Schophaus (m_schophaus_adcada)
- Martynas Sudintas (martiis)
- Anton Sukhachev (mrsuh)
+ - Marcel Siegert
- ryunosuke
- Francisco Facioni (fran6co)
- Iwan van Staveren (istaveren)
@@ -2513,12 +2546,14 @@ The Symfony Connect username in parenthesis allows to get more information
- Matt Farmer
- catch
- Alexandre Segura
+ - Asier Etxebeste
- Josef Cech
- Andrii Boiko
- Harold Iedema
- Ikhsan Agustian
- Benoit Lévêque (benoit_leveque)
- Simon Bouland (bouland)
+ - Jakub Janata (janatjak)
- Jibé Barth (jibbarth)
- Matthew Foster (mfoster)
- Reyo Stallenberg (reyostallenberg)
@@ -2552,6 +2587,7 @@ The Symfony Connect username in parenthesis allows to get more information
- Houziaux mike
- Phobetor
- Markus
+ - Janusz Mocek
- Thomas Chmielowiec
- shdev
- Andrey Ryaguzov
@@ -2569,6 +2605,7 @@ The Symfony Connect username in parenthesis allows to get more information
- František Bereň
- Jeremiah VALERIE
- Mike Francis
+ - Nil Borodulia
- Almog Baku (almogbaku)
- Gerd Christian Kunze (derdu)
- Ionel Scutelnicu (ionelscutelnicu)
@@ -2578,6 +2615,7 @@ The Symfony Connect username in parenthesis allows to get more information
- Nick Stemerdink
- David Stone
- Grayson Koonce
+ - Wissame MEKHILEF
- Romain Dorgueil
- Christopher Parotat
- Dennis Haarbrink
@@ -2598,6 +2636,7 @@ The Symfony Connect username in parenthesis allows to get more information
- Felix Marezki
- Normunds
- Thomas Rothe
+ - Troy Crawford
- nietonfir
- alefranz
- David Barratt
@@ -2623,6 +2662,7 @@ The Symfony Connect username in parenthesis allows to get more information
- efeen
- Nicolas Pion
- Muhammed Akbulut
+ - Xesau
- Aaron Somi
- Michał Dąbrowski (defrag)
- Simone Fumagalli (hpatoio)
@@ -2644,10 +2684,12 @@ The Symfony Connect username in parenthesis allows to get more information
- Gijs Kunze
- Artyom Protaskin
- Nathanael d. Noblet
+ - Yurun
- helmer
- ged15
- Simon Asika
- Daan van Renterghem
+ - Boudry Julien
- amcastror
- Bram Van der Sype (brammm)
- Guile (guile)
@@ -2723,6 +2765,7 @@ The Symfony Connect username in parenthesis allows to get more information
- Rémi Blaise
- Nicolas Séverin
- Joel Marcey
+ - zolikonta
- David Christmann
- root
- pf
@@ -2764,8 +2807,10 @@ The Symfony Connect username in parenthesis allows to get more information
- Jelle Kapitein
- Jochen Mandl
- Marin Nicolae
+ - Albert Prat
- Alessandro Loffredo
- Ian Phillips
+ - Remi Collet
- Haritz
- Matthieu Prat
- Brieuc Thomas
@@ -2791,6 +2836,7 @@ The Symfony Connect username in parenthesis allows to get more information
- Erik van Wingerden
- Valouleloup
- Alexis MARQUIS
+ - Matheus Gontijo
- Gerrit Drost
- Linnaea Von Lavia
- Simon Mönch
@@ -2810,6 +2856,8 @@ The Symfony Connect username in parenthesis allows to get more information
- Rafał
- Adria Lopez (adlpz)
- Aaron Scherer (aequasi)
+ - Alexandre Jardin (alexandre.jardin)
+ - Bart Brouwer (bartbrouwer)
- Rosio (ben-rosio)
- Simon Paarlberg (blamh)
- Masao Maeda (brtriver)
@@ -2836,6 +2884,7 @@ The Symfony Connect username in parenthesis allows to get more information
- Kevin Verschaeve (keversc)
- Kevin Herrera (kherge)
- Luis Ramón López López (lrlopez)
+ - Matheo Daninos (mathdns)
- Mehdi Mabrouk (mehdidev)
- Bart Reunes (metalarend)
- Muriel (metalmumu)
@@ -2847,6 +2896,7 @@ The Symfony Connect username in parenthesis allows to get more information
- Olivier Laviale (olvlvl)
- Pablo Monterde Perez (plebs)
- Jimmy Leger (redpanda)
+ - Mokhtar Tlili (sf-djuba)
- Marcin Szepczynski (szepczynski)
- Simone Di Maulo (toretto460)
- Cyrille Jouineau (tuxosaurus)
@@ -2861,6 +2911,7 @@ The Symfony Connect username in parenthesis allows to get more information
- Taylan Kasap
- Michael Orlitzky
- Nicolas A. Bérard-Nault
+ - Francois Martin
- Saem Ghani
- Stefan Oderbolz
- Gabriel Moreira
@@ -2901,6 +2952,7 @@ The Symfony Connect username in parenthesis allows to get more information
- temperatur
- Paul Andrieux
- Cas
+ - Gwendolen Lynch
- ghazy ben ahmed
- Karolis
- Myke79
@@ -2941,6 +2993,7 @@ The Symfony Connect username in parenthesis allows to get more information
- Jack Wright
- MrNicodemuz
- Anonymous User
+ - demeritcowboy
- Paweł Tomulik
- Eric J. Duran
- Blackfelix
@@ -3025,7 +3078,9 @@ The Symfony Connect username in parenthesis allows to get more information
- Yurii K
- Richard Trebichavský
- g123456789l
+ - Mark Ogilvie
- Jonathan Vollebregt
+ - Vladimir Vasilev
- oscartv
- DanSync
- Peter Zwosta
@@ -3053,6 +3108,7 @@ The Symfony Connect username in parenthesis allows to get more information
- sualko
- ADmad
- Nicolas Roudaire
+ - Abdouni Karim (abdounikarim)
- Andreas Forsblom (aforsblo)
- Alex Olmos (alexolmos)
- Cedric BERTOLINI (alsciende)
@@ -3150,6 +3206,7 @@ The Symfony Connect username in parenthesis allows to get more information
- Jesper Søndergaard Pedersen (zerrvox)
- Florent Cailhol
- szymek
+ - Konrad
- Kovacs Nicolas
- craigmarvelley
- Stano Turza
diff --git a/src/Symfony/Bridge/Doctrine/DataCollector/DoctrineDataCollector.php b/src/Symfony/Bridge/Doctrine/DataCollector/DoctrineDataCollector.php
index d259e4123976a..24024cefd14c8 100644
--- a/src/Symfony/Bridge/Doctrine/DataCollector/DoctrineDataCollector.php
+++ b/src/Symfony/Bridge/Doctrine/DataCollector/DoctrineDataCollector.php
@@ -59,7 +59,7 @@ public function addLogger($name, DebugStack $logger)
*
* @param \Throwable|null $exception
*/
- public function collect(Request $request, Response $response/*, \Throwable $exception = null*/)
+ public function collect(Request $request, Response $response/* , \Throwable $exception = null */)
{
$queries = [];
foreach ($this->loggers as $name => $logger) {
diff --git a/src/Symfony/Bridge/Doctrine/DependencyInjection/AbstractDoctrineExtension.php b/src/Symfony/Bridge/Doctrine/DependencyInjection/AbstractDoctrineExtension.php
index 383462ca95ee7..2d9302ac141ea 100644
--- a/src/Symfony/Bridge/Doctrine/DependencyInjection/AbstractDoctrineExtension.php
+++ b/src/Symfony/Bridge/Doctrine/DependencyInjection/AbstractDoctrineExtension.php
@@ -345,7 +345,7 @@ protected function loadCacheDriver($cacheName, $objectManagerName, array $cacheD
$container->setDefinition($this->getObjectManagerElementName(sprintf('%s_memcached_instance', $objectManagerName)), $memcachedInstance);
$cacheDef->addMethodCall('setMemcached', [new Reference($this->getObjectManagerElementName(sprintf('%s_memcached_instance', $objectManagerName)))]);
break;
- case 'redis':
+ case 'redis':
$redisClass = !empty($cacheDriver['class']) ? $cacheDriver['class'] : '%'.$this->getObjectManagerElementName('cache.redis.class').'%';
$redisInstanceClass = !empty($cacheDriver['instance_class']) ? $cacheDriver['instance_class'] : '%'.$this->getObjectManagerElementName('cache.redis_instance.class').'%';
$redisHost = !empty($cacheDriver['host']) ? $cacheDriver['host'] : '%'.$this->getObjectManagerElementName('cache.redis_host').'%';
diff --git a/src/Symfony/Bridge/Doctrine/Form/DoctrineOrmTypeGuesser.php b/src/Symfony/Bridge/Doctrine/Form/DoctrineOrmTypeGuesser.php
index c5ff1aa3674f1..944c305ab70a7 100644
--- a/src/Symfony/Bridge/Doctrine/Form/DoctrineOrmTypeGuesser.php
+++ b/src/Symfony/Bridge/Doctrine/Form/DoctrineOrmTypeGuesser.php
@@ -60,12 +60,15 @@ public function guessType($class, $property)
switch ($metadata->getTypeOfField($property)) {
case self::$useDeprecatedConstants ? Type::TARRAY : Types::ARRAY:
+ // no break
case self::$useDeprecatedConstants ? Type::SIMPLE_ARRAY : Types::SIMPLE_ARRAY:
return new TypeGuess('Symfony\Component\Form\Extension\Core\Type\CollectionType', [], Guess::MEDIUM_CONFIDENCE);
case self::$useDeprecatedConstants ? Type::BOOLEAN : Types::BOOLEAN:
return new TypeGuess('Symfony\Component\Form\Extension\Core\Type\CheckboxType', [], Guess::HIGH_CONFIDENCE);
case self::$useDeprecatedConstants ? Type::DATETIME : Types::DATETIME_MUTABLE:
+ // no break
case self::$useDeprecatedConstants ? Type::DATETIMETZ : Types::DATETIMETZ_MUTABLE:
+ // no break
case 'vardatetime':
return new TypeGuess('Symfony\Component\Form\Extension\Core\Type\DateTimeType', [], Guess::HIGH_CONFIDENCE);
case 'datetime_immutable':
@@ -86,7 +89,9 @@ public function guessType($class, $property)
case self::$useDeprecatedConstants ? Type::FLOAT : Types::FLOAT:
return new TypeGuess('Symfony\Component\Form\Extension\Core\Type\NumberType', [], Guess::MEDIUM_CONFIDENCE);
case self::$useDeprecatedConstants ? Type::INTEGER : Types::INTEGER:
+ // no break
case self::$useDeprecatedConstants ? Type::BIGINT : Types::BIGINT:
+ // no break
case self::$useDeprecatedConstants ? Type::SMALLINT : Types::SMALLINT:
return new TypeGuess('Symfony\Component\Form\Extension\Core\Type\IntegerType', [], Guess::MEDIUM_CONFIDENCE);
case self::$useDeprecatedConstants ? Type::STRING : Types::STRING:
diff --git a/src/Symfony/Bridge/Doctrine/PropertyInfo/DoctrineExtractor.php b/src/Symfony/Bridge/Doctrine/PropertyInfo/DoctrineExtractor.php
index 0c7c48d1c0968..4391411a94a76 100644
--- a/src/Symfony/Bridge/Doctrine/PropertyInfo/DoctrineExtractor.php
+++ b/src/Symfony/Bridge/Doctrine/PropertyInfo/DoctrineExtractor.php
@@ -114,16 +114,16 @@ public function getTypes($class, $property, array $context = [])
$fieldName = $associationMapping['indexBy'];
if (null === ($typeOfField = $subMetadata->getTypeOfField($fieldName))) {
$fieldName = $subMetadata->getFieldForColumn($associationMapping['indexBy']);
- //Not a property, maybe a column name?
+ // Not a property, maybe a column name?
if (null === ($typeOfField = $subMetadata->getTypeOfField($fieldName))) {
- //Maybe the column name is the association join column?
+ // Maybe the column name is the association join column?
$associationMapping = $subMetadata->getAssociationMapping($fieldName);
/** @var ClassMetadataInfo $subMetadata */
$indexProperty = $subMetadata->getSingleAssociationReferencedJoinColumnName($fieldName);
$subMetadata = $this->entityManager ? $this->entityManager->getClassMetadata($associationMapping['targetEntity']) : $this->classMetadataFactory->getMetadataFor($associationMapping['targetEntity']);
- //Not a property, maybe a column name?
+ // Not a property, maybe a column name?
if (null === ($typeOfField = $subMetadata->getTypeOfField($indexProperty))) {
$fieldName = $subMetadata->getFieldForColumn($indexProperty);
$typeOfField = $subMetadata->getTypeOfField($fieldName);
@@ -168,8 +168,11 @@ public function getTypes($class, $property, array $context = [])
case Type::BUILTIN_TYPE_OBJECT:
switch ($typeOfField) {
case self::$useDeprecatedConstants ? DBALType::DATE : Types::DATE_MUTABLE:
+ // no break
case self::$useDeprecatedConstants ? DBALType::DATETIME : Types::DATETIME_MUTABLE:
+ // no break
case self::$useDeprecatedConstants ? DBALType::DATETIMETZ : Types::DATETIMETZ_MUTABLE:
+ // no break
case 'vardatetime':
case self::$useDeprecatedConstants ? DBALType::TIME : Types::TIME_MUTABLE:
return [new Type(Type::BUILTIN_TYPE_OBJECT, $nullable, 'DateTime')];
@@ -188,6 +191,7 @@ public function getTypes($class, $property, array $context = [])
case Type::BUILTIN_TYPE_ARRAY:
switch ($typeOfField) {
case self::$useDeprecatedConstants ? DBALType::TARRAY : Types::ARRAY:
+ // no break
case 'json_array':
// return null if $enumType is set, because we can't determine if collectionKeyType is string or int
if ($enumType) {
@@ -279,6 +283,7 @@ private function getPhpType(string $doctrineType): ?string
{
switch ($doctrineType) {
case self::$useDeprecatedConstants ? DBALType::SMALLINT : Types::SMALLINT:
+ // no break
case self::$useDeprecatedConstants ? DBALType::INTEGER : Types::INTEGER:
return Type::BUILTIN_TYPE_INT;
@@ -286,9 +291,13 @@ private function getPhpType(string $doctrineType): ?string
return Type::BUILTIN_TYPE_FLOAT;
case self::$useDeprecatedConstants ? DBALType::BIGINT : Types::BIGINT:
+ // no break
case self::$useDeprecatedConstants ? DBALType::STRING : Types::STRING:
+ // no break
case self::$useDeprecatedConstants ? DBALType::TEXT : Types::TEXT:
+ // no break
case self::$useDeprecatedConstants ? DBALType::GUID : Types::GUID:
+ // no break
case self::$useDeprecatedConstants ? DBALType::DECIMAL : Types::DECIMAL:
return Type::BUILTIN_TYPE_STRING;
@@ -296,15 +305,21 @@ private function getPhpType(string $doctrineType): ?string
return Type::BUILTIN_TYPE_BOOL;
case self::$useDeprecatedConstants ? DBALType::BLOB : Types::BLOB:
+ // no break
case 'binary':
return Type::BUILTIN_TYPE_RESOURCE;
case self::$useDeprecatedConstants ? DBALType::OBJECT : Types::OBJECT:
+ // no break
case self::$useDeprecatedConstants ? DBALType::DATE : Types::DATE_MUTABLE:
+ // no break
case self::$useDeprecatedConstants ? DBALType::DATETIME : Types::DATETIME_MUTABLE:
+ // no break
case self::$useDeprecatedConstants ? DBALType::DATETIMETZ : Types::DATETIMETZ_MUTABLE:
+ // no break
case 'vardatetime':
case self::$useDeprecatedConstants ? DBALType::TIME : Types::TIME_MUTABLE:
+ // no break
case 'date_immutable':
case 'datetime_immutable':
case 'datetimetz_immutable':
@@ -313,7 +328,9 @@ private function getPhpType(string $doctrineType): ?string
return Type::BUILTIN_TYPE_OBJECT;
case self::$useDeprecatedConstants ? DBALType::TARRAY : Types::ARRAY:
+ // no break
case self::$useDeprecatedConstants ? DBALType::SIMPLE_ARRAY : Types::SIMPLE_ARRAY:
+ // no break
case 'json_array':
return Type::BUILTIN_TYPE_ARRAY;
}
diff --git a/src/Symfony/Bridge/Doctrine/Tests/Form/ChoiceList/DoctrineChoiceLoaderTest.php b/src/Symfony/Bridge/Doctrine/Tests/Form/ChoiceList/DoctrineChoiceLoaderTest.php
index 29da316d20feb..535795f061060 100644
--- a/src/Symfony/Bridge/Doctrine/Tests/Form/ChoiceList/DoctrineChoiceLoaderTest.php
+++ b/src/Symfony/Bridge/Doctrine/Tests/Form/ChoiceList/DoctrineChoiceLoaderTest.php
@@ -315,8 +315,8 @@ public function testLoadChoicesForValuesLoadsOnlyChoicesIfSingleIntId()
$this->assertSame(
[4 => $this->obj3, 7 => $this->obj2],
- $loader->loadChoicesForValues([4 => '3', 7 => '2']
- ));
+ $loader->loadChoicesForValues([4 => '3', 7 => '2'])
+ );
}
public function testLoadChoicesForValuesLoadsAllIfSingleIntIdAndValueGiven()
diff --git a/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/DoctrineExtractorTest.php b/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/DoctrineExtractorTest.php
index 32caea8bd3093..bd1a26487a6b5 100644
--- a/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/DoctrineExtractorTest.php
+++ b/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/DoctrineExtractorTest.php
@@ -185,9 +185,9 @@ public function testExtractEnum()
}
$this->assertEquals([new Type(Type::BUILTIN_TYPE_OBJECT, false, EnumString::class)], $this->createExtractor()->getTypes(DoctrineEnum::class, 'enumString', []));
$this->assertEquals([new Type(Type::BUILTIN_TYPE_OBJECT, false, EnumInt::class)], $this->createExtractor()->getTypes(DoctrineEnum::class, 'enumInt', []));
- $this->assertEquals(null, $this->createExtractor()->getTypes(DoctrineEnum::class, 'enumStringArray', []));
+ $this->assertNull($this->createExtractor()->getTypes(DoctrineEnum::class, 'enumStringArray', []));
$this->assertEquals([new Type(Type::BUILTIN_TYPE_ARRAY, false, null, true, new Type(Type::BUILTIN_TYPE_INT), new Type(Type::BUILTIN_TYPE_OBJECT, false, EnumInt::class))], $this->createExtractor()->getTypes(DoctrineEnum::class, 'enumIntArray', []));
- $this->assertEquals(null, $this->createExtractor()->getTypes(DoctrineEnum::class, 'enumCustom', []));
+ $this->assertNull($this->createExtractor()->getTypes(DoctrineEnum::class, 'enumCustom', []));
}
public function typesProvider()
diff --git a/src/Symfony/Bridge/PhpUnit/DeprecationErrorHandler.php b/src/Symfony/Bridge/PhpUnit/DeprecationErrorHandler.php
index 00fb4bc8a2433..68d8d8e339590 100644
--- a/src/Symfony/Bridge/PhpUnit/DeprecationErrorHandler.php
+++ b/src/Symfony/Bridge/PhpUnit/DeprecationErrorHandler.php
@@ -196,7 +196,7 @@ public function shutdown()
if (class_exists(DebugClassLoader::class, false)) {
DebugClassLoader::checkClasses();
}
- $currErrorHandler = set_error_handler('var_dump');
+ $currErrorHandler = set_error_handler('is_int');
restore_error_handler();
if ($currErrorHandler !== [$this, 'handleError']) {
diff --git a/src/Symfony/Bridge/PhpUnit/bin/simple-phpunit.php b/src/Symfony/Bridge/PhpUnit/bin/simple-phpunit.php
index e7c3da2b8d7a3..fe776b90d3df1 100644
--- a/src/Symfony/Bridge/PhpUnit/bin/simple-phpunit.php
+++ b/src/Symfony/Bridge/PhpUnit/bin/simple-phpunit.php
@@ -66,14 +66,14 @@
$phpunitConfigFilename = $phpunitConfigFilename ?: $getPhpUnitConfig('phpunit.xml');
if ($phpunitConfigFilename) {
- $phpunitConfig = new DomDocument();
+ $phpunitConfig = new DOMDocument();
$phpunitConfig->load($phpunitConfigFilename);
} else {
$phpunitConfig = false;
}
}
if (false !== $phpunitConfig) {
- $var = new DOMXpath($phpunitConfig);
+ $var = new DOMXPath($phpunitConfig);
foreach ($var->query('//php/server[@name="'.$name.'"]') as $var) {
return $var->getAttribute('value');
}
diff --git a/src/Symfony/Bridge/Twig/DataCollector/TwigDataCollector.php b/src/Symfony/Bridge/Twig/DataCollector/TwigDataCollector.php
index fd6bc2d1e2663..c81d16c9606a4 100644
--- a/src/Symfony/Bridge/Twig/DataCollector/TwigDataCollector.php
+++ b/src/Symfony/Bridge/Twig/DataCollector/TwigDataCollector.php
@@ -45,7 +45,7 @@ public function __construct(Profile $profile, Environment $twig = null)
*
* @param \Throwable|null $exception
*/
- public function collect(Request $request, Response $response/*, \Throwable $exception = null*/)
+ public function collect(Request $request, Response $response/* , \Throwable $exception = null */)
{
}
diff --git a/src/Symfony/Bridge/Twig/Extension/CodeExtension.php b/src/Symfony/Bridge/Twig/Extension/CodeExtension.php
index 54b43caca2cb3..eeea01d84532e 100644
--- a/src/Symfony/Bridge/Twig/Extension/CodeExtension.php
+++ b/src/Symfony/Bridge/Twig/Extension/CodeExtension.php
@@ -35,7 +35,7 @@ class CodeExtension extends AbstractExtension
*/
public function __construct($fileLinkFormat, string $projectDir, string $charset)
{
- $this->fileLinkFormat = $fileLinkFormat ?: ini_get('xdebug.file_link_format') ?: get_cfg_var('xdebug.file_link_format');
+ $this->fileLinkFormat = $fileLinkFormat ?: \ini_get('xdebug.file_link_format') ?: get_cfg_var('xdebug.file_link_format');
$this->projectDir = str_replace('\\', '/', $projectDir).'/';
$this->charset = $charset;
}
@@ -241,7 +241,7 @@ public function formatLogMessage(string $message, array $context): string
if ($context && str_contains($message, '{')) {
$replacements = [];
foreach ($context as $key => $val) {
- if (is_scalar($val)) {
+ if (\is_scalar($val)) {
$replacements['{'.$key.'}'] = $val;
}
}
diff --git a/src/Symfony/Bridge/Twig/Tests/Extension/AbstractBootstrap3HorizontalLayoutTest.php b/src/Symfony/Bridge/Twig/Tests/Extension/AbstractBootstrap3HorizontalLayoutTest.php
index 69064a003d7fe..05fe771254894 100644
--- a/src/Symfony/Bridge/Twig/Tests/Extension/AbstractBootstrap3HorizontalLayoutTest.php
+++ b/src/Symfony/Bridge/Twig/Tests/Extension/AbstractBootstrap3HorizontalLayoutTest.php
@@ -21,7 +21,7 @@ public function testLabelOnForm()
$html = $this->renderLabel($view);
$this->assertMatchesXpath($html,
-'/label
+ '/label
[@class="col-sm-2 control-label required"]
[.="[trans]Name[/trans]"]
'
@@ -38,7 +38,7 @@ public function testLabelDoesNotRenderFieldAttributes()
]);
$this->assertMatchesXpath($html,
-'/label
+ '/label
[@for="name"]
[@class="col-sm-2 control-label required"]
'
@@ -55,7 +55,7 @@ public function testLabelWithCustomAttributesPassedDirectly()
]);
$this->assertMatchesXpath($html,
-'/label
+ '/label
[@for="name"]
[@class="my&class col-sm-2 control-label required"]
'
@@ -72,7 +72,7 @@ public function testLabelWithCustomTextAndCustomAttributesPassedDirectly()
]);
$this->assertMatchesXpath($html,
-'/label
+ '/label
[@for="name"]
[@class="my&class col-sm-2 control-label required"]
[.="[trans]Custom label[/trans]"]
@@ -92,7 +92,7 @@ public function testLabelWithCustomTextAsOptionAndCustomAttributesPassedDirectly
]);
$this->assertMatchesXpath($html,
-'/label
+ '/label
[@for="name"]
[@class="my&class col-sm-2 control-label required"]
[.="[trans]Custom label[/trans]"]
@@ -170,7 +170,7 @@ public function testCheckboxRowWithHelp()
$html = $this->renderRow($form->createView(), ['label' => 'foo', 'help' => 'really helpful text']);
$this->assertMatchesXpath($html,
-'/div
+ '/div
[@class="form-group"]
[
./div[@class="col-sm-2" or @class="col-sm-10"]
diff --git a/src/Symfony/Bridge/Twig/Tests/Extension/AbstractBootstrap3LayoutTest.php b/src/Symfony/Bridge/Twig/Tests/Extension/AbstractBootstrap3LayoutTest.php
index eb40559ef6b55..7c06163806af0 100644
--- a/src/Symfony/Bridge/Twig/Tests/Extension/AbstractBootstrap3LayoutTest.php
+++ b/src/Symfony/Bridge/Twig/Tests/Extension/AbstractBootstrap3LayoutTest.php
@@ -25,7 +25,7 @@ public function testLabelOnForm()
$html = $this->renderLabel($view);
$this->assertMatchesXpath($html,
-'/label
+ '/label
[@class="control-label required"]
[.="[trans]Name[/trans]"]
'
@@ -42,7 +42,7 @@ public function testLabelDoesNotRenderFieldAttributes()
]);
$this->assertMatchesXpath($html,
-'/label
+ '/label
[@for="name"]
[@class="control-label required"]
'
@@ -59,7 +59,7 @@ public function testLabelWithCustomAttributesPassedDirectly()
]);
$this->assertMatchesXpath($html,
-'/label
+ '/label
[@for="name"]
[@class="my&class control-label required"]
'
@@ -76,7 +76,7 @@ public function testLabelWithCustomTextAndCustomAttributesPassedDirectly()
]);
$this->assertMatchesXpath($html,
-'/label
+ '/label
[@for="name"]
[@class="my&class control-label required"]
[.="[trans]Custom label[/trans]"]
@@ -96,7 +96,7 @@ public function testLabelWithCustomTextAsOptionAndCustomAttributesPassedDirectly
]);
$this->assertMatchesXpath($html,
-'/label
+ '/label
[@for="name"]
[@class="my&class control-label required"]
[.="[trans]Custom label[/trans]"]
@@ -113,7 +113,7 @@ public function testHelp()
$html = $this->renderHelp($view);
$this->assertMatchesXpath($html,
-'/span
+ '/span
[@id="name_help"]
[@class="help-block"]
[.="[trans]Help text test![/trans]"]
@@ -233,7 +233,7 @@ public function testErrors()
$html = $this->renderErrors($view);
$this->assertMatchesXpath($html,
-'/div
+ '/div
[@class="alert alert-danger"]
[
./ul
@@ -263,7 +263,7 @@ public function testOverrideWidgetBlock()
$html = $this->renderWidget($form->createView());
$this->assertMatchesXpath($html,
-'/div
+ '/div
[
./input
[@type="text"]
@@ -280,7 +280,7 @@ public function testCheckedCheckbox()
$form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\CheckboxType', true);
$this->assertWidgetMatchesXpath($form->createView(), ['id' => 'my&id', 'attr' => ['class' => 'my&class']],
-'/div
+ '/div
[@class="checkbox"]
[
./label
@@ -298,7 +298,7 @@ public function testUncheckedCheckbox()
$form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\CheckboxType', false);
$this->assertWidgetMatchesXpath($form->createView(), ['id' => 'my&id', 'attr' => ['class' => 'my&class']],
-'/div
+ '/div
[@class="checkbox"]
[
./label
@@ -318,7 +318,7 @@ public function testCheckboxWithValue()
]);
$this->assertWidgetMatchesXpath($form->createView(), ['id' => 'my&id', 'attr' => ['class' => 'my&class']],
-'/div
+ '/div
[@class="checkbox"]
[
./label
@@ -337,7 +337,7 @@ public function testCheckboxRowWithHelp()
$html = $this->renderRow($form->createView(), ['label' => 'foo', 'help' => 'really helpful text']);
$this->assertMatchesXpath($html,
-'/div
+ '/div
[@class="form-group"]
[
./span[text() = "[trans]really helpful text[/trans]"]
@@ -355,7 +355,7 @@ public function testSingleChoice()
]);
$this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/select
+ '/select
[@name="name"]
[@class="my&class form-control"]
[not(@required)]
@@ -378,7 +378,7 @@ public function testSingleChoiceAttributesWithMainAttributes()
]);
$this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'bar&baz']],
-'/select
+ '/select
[@name="name"]
[@class="bar&baz form-control"]
[not(@required)]
@@ -401,7 +401,7 @@ public function testSingleExpandedChoiceAttributesWithMainAttributes()
]);
$this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'bar&baz']],
-'/div
+ '/div
[@class="bar&baz"]
[
./div
@@ -438,7 +438,7 @@ public function testSelectWithSizeBiggerThanOneCanBeRequired()
]);
$this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => '']],
-'/select
+ '/select
[@name="name"]
[@required="required"]
[@size="2"]
@@ -457,7 +457,7 @@ public function testSingleChoiceWithoutTranslation()
]);
$this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/select
+ '/select
[@name="name"]
[@class="my&class form-control"]
[not(@required)]
@@ -482,7 +482,7 @@ public function testSingleChoiceWithPlaceholderWithoutTranslation()
]);
$this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/select
+ '/select
[@name="name"]
[@class="my&class form-control"]
[not(@required)]
@@ -506,7 +506,7 @@ public function testSingleChoiceAttributes()
]);
$this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/select
+ '/select
[@name="name"]
[@class="my&class form-control"]
[not(@required)]
@@ -529,7 +529,7 @@ public function testSingleChoiceWithPreferred()
]);
$this->assertWidgetMatchesXpath($form->createView(), ['separator' => '-- sep --', 'attr' => ['class' => 'my&class']],
-'/select
+ '/select
[@name="name"]
[@class="my&class form-control"]
[not(@required)]
@@ -554,7 +554,7 @@ public function testSingleChoiceWithSelectedPreferred()
]);
$this->assertWidgetMatchesXpath($form->createView(), ['separator' => '-- sep --', 'attr' => ['class' => 'my&class']],
-'/select
+ '/select
[@name="name"]
[@class="my&class form-control"]
[not(@required)]
@@ -579,7 +579,7 @@ public function testSingleChoiceWithPreferredAndNoSeparator()
]);
$this->assertWidgetMatchesXpath($form->createView(), ['separator' => null, 'attr' => ['class' => 'my&class']],
-'/select
+ '/select
[@name="name"]
[@class="my&class form-control"]
[not(@required)]
@@ -603,7 +603,7 @@ public function testSingleChoiceWithPreferredAndBlankSeparator()
]);
$this->assertWidgetMatchesXpath($form->createView(), ['separator' => '', 'attr' => ['class' => 'my&class']],
-'/select
+ '/select
[@name="name"]
[@class="my&class form-control"]
[not(@required)]
@@ -628,7 +628,7 @@ public function testChoiceWithOnlyPreferred()
]);
$this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/select
+ '/select
[@class="my&class form-control"]
[count(./option)=5]
'
@@ -645,7 +645,7 @@ public function testSingleChoiceNonRequired()
]);
$this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/select
+ '/select
[@name="name"]
[@class="my&class form-control"]
[not(@required)]
@@ -669,7 +669,7 @@ public function testSingleChoiceNonRequiredNoneSelected()
]);
$this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/select
+ '/select
[@name="name"]
[@class="my&class form-control"]
[not(@required)]
@@ -694,7 +694,7 @@ public function testSingleChoiceNonRequiredWithPlaceholder()
]);
$this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/select
+ '/select
[@name="name"]
[@class="my&class form-control"]
[not(@required)]
@@ -719,7 +719,7 @@ public function testSingleChoiceRequiredWithPlaceholder()
]);
$this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/select
+ '/select
[@name="name"]
[@class="my&class form-control"]
[@required="required"]
@@ -743,7 +743,7 @@ public function testSingleChoiceRequiredWithPlaceholderViaView()
]);
$this->assertWidgetMatchesXpath($form->createView(), ['placeholder' => '', 'attr' => ['class' => 'my&class']],
-'/select
+ '/select
[@name="name"]
[@class="my&class form-control"]
[@required="required"]
@@ -769,7 +769,7 @@ public function testSingleChoiceGrouped()
]);
$this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/select
+ '/select
[@name="name"]
[@class="my&class form-control"]
[./optgroup[@label="[trans]Group&1[/trans]"]
@@ -798,7 +798,7 @@ public function testMultipleChoice()
]);
$this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/select
+ '/select
[@name="name[]"]
[@class="my&class form-control"]
[@required="required"]
@@ -823,7 +823,7 @@ public function testMultipleChoiceAttributes()
]);
$this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/select
+ '/select
[@name="name[]"]
[@class="my&class form-control"]
[@required="required"]
@@ -847,7 +847,7 @@ public function testMultipleChoiceSkipsPlaceholder()
]);
$this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/select
+ '/select
[@name="name[]"]
[@class="my&class form-control"]
[@multiple="multiple"]
@@ -870,7 +870,7 @@ public function testMultipleChoiceNonRequired()
]);
$this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/select
+ '/select
[@name="name[]"]
[@class="my&class form-control"]
[@multiple="multiple"]
@@ -892,7 +892,7 @@ public function testSingleChoiceExpanded()
]);
$this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+ '/div
[
./div
[@class="radio"]
@@ -928,7 +928,7 @@ public function testSingleChoiceExpandedWithLabelsAsFalse()
]);
$this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+ '/div
[
./div
[@class="radio"]
@@ -968,7 +968,7 @@ public function testSingleChoiceExpandedWithLabelsSetByCallable()
]);
$this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+ '/div
[
./div
[@class="radio"]
@@ -1014,7 +1014,7 @@ public function testSingleChoiceExpandedWithLabelsSetFalseByCallable()
]);
$this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+ '/div
[
./div
[@class="radio"]
@@ -1048,7 +1048,7 @@ public function testSingleChoiceExpandedWithoutTranslation()
]);
$this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+ '/div
[
./div
[@class="radio"]
@@ -1084,7 +1084,7 @@ public function testSingleChoiceExpandedAttributes()
]);
$this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+ '/div
[
./div
[@class="radio"]
@@ -1121,7 +1121,7 @@ public function testSingleChoiceExpandedWithPlaceholder()
]);
$this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+ '/div
[
./div
[@class="radio"]
@@ -1168,7 +1168,7 @@ public function testSingleChoiceExpandedWithPlaceholderWithoutTranslation()
]);
$this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+ '/div
[
./div
[@class="radio"]
@@ -1212,7 +1212,7 @@ public function testSingleChoiceExpandedWithBooleanValue()
]);
$this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+ '/div
[
./div
[@class="radio"]
@@ -1248,7 +1248,7 @@ public function testMultipleChoiceExpanded()
]);
$this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+ '/div
[
./div
[@class="checkbox"]
@@ -1293,7 +1293,7 @@ public function testMultipleChoiceExpandedWithLabelsAsFalse()
]);
$this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+ '/div
[
./div
[@class="checkbox"]
@@ -1379,7 +1379,7 @@ public function testMultipleChoiceExpandedWithLabelsSetFalseByCallable()
]);
$this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+ '/div
[
./div
[@class="checkbox"]
@@ -1414,7 +1414,7 @@ public function testMultipleChoiceExpandedWithoutTranslation()
]);
$this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+ '/div
[
./div
[@class="checkbox"]
@@ -1460,7 +1460,7 @@ public function testMultipleChoiceExpandedAttributes()
]);
$this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+ '/div
[
./div
[@class="checkbox"]
@@ -1500,7 +1500,7 @@ public function testCountry()
$form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\CountryType', 'AT');
$this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/select
+ '/select
[@name="name"]
[@class="my&class form-control"]
[./option[@value="AT"][@selected="selected"][.="Austria"]]
@@ -1517,7 +1517,7 @@ public function testCountryWithPlaceholder()
]);
$this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/select
+ '/select
[@name="name"]
[@class="my&class form-control"]
[./option[@value=""][not(@selected)][not(@disabled)][.="[trans]Select&Country[/trans]"]]
@@ -1535,7 +1535,7 @@ public function testDateTime()
]);
$this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/div
+ '/div
[
./select
[@id="name_date_month"]
@@ -1572,7 +1572,7 @@ public function testDateTimeWithPlaceholderGlobal()
]);
$this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/div
+ '/div
[@class="my&class form-inline"]
[
./select
@@ -1611,7 +1611,7 @@ public function testDateTimeWithHourAndMinute()
]);
$this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/div
+ '/div
[@class="my&class form-inline"]
[
./select
@@ -1648,7 +1648,7 @@ public function testDateTimeWithSeconds()
]);
$this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/div
+ '/div
[@class="my&class form-inline"]
[
./select
@@ -1690,7 +1690,7 @@ public function testDateTimeSingleText()
]);
$this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/div
+ '/div
[@class="my&class form-inline"]
[
./input
@@ -1720,7 +1720,7 @@ public function testDateTimeWithWidgetSingleText()
]);
$this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/input
+ '/input
[@type="datetime-local"]
[@name="name"]
[@class="my&class form-control"]
@@ -1744,7 +1744,7 @@ public function testDateTimeWithWidgetSingleTextIgnoreDateAndTimeWidgets()
]);
$this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/input
+ '/input
[@type="datetime-local"]
[@name="name"]
[@class="my&class form-control"]
@@ -1761,7 +1761,7 @@ public function testDateChoice()
]);
$this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/div
+ '/div
[@class="my&class form-inline"]
[
./select
@@ -1792,7 +1792,7 @@ public function testDateChoiceWithPlaceholderGlobal()
]);
$this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/div
+ '/div
[@class="my&class form-inline"]
[
./select
@@ -1823,7 +1823,7 @@ public function testDateChoiceWithPlaceholderOnYear()
]);
$this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/div
+ '/div
[@class="my&class form-inline"]
[
./select
@@ -1852,7 +1852,7 @@ public function testDateText()
]);
$this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/div
+ '/div
[@class="my&class form-inline"]
[
./input
@@ -1884,7 +1884,7 @@ public function testDateSingleText()
]);
$this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/input
+ '/input
[@type="date"]
[@name="name"]
[@class="my&class form-control"]
@@ -1900,7 +1900,7 @@ public function testBirthDay()
]);
$this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/div
+ '/div
[@class="my&class form-inline"]
[
./select
@@ -1930,7 +1930,7 @@ public function testBirthDayWithPlaceholder()
]);
$this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/div
+ '/div
[@class="my&class form-inline"]
[
./select
@@ -1959,7 +1959,7 @@ public function testEmail()
$form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\EmailType', 'foo&bar');
$this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/input
+ '/input
[@type="email"]
[@name="name"]
[@class="my&class form-control"]
@@ -1976,7 +1976,7 @@ public function testEmailWithMaxLength()
]);
$this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/input
+ '/input
[@type="email"]
[@name="name"]
[@class="my&class form-control"]
@@ -1991,7 +1991,7 @@ public function testHidden()
$form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\HiddenType', 'foo&bar');
$this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/input
+ '/input
[@type="hidden"]
[@name="name"]
[@class="my&class"]
@@ -2007,7 +2007,7 @@ public function testDisabled()
]);
$this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/input
+ '/input
[@type="text"]
[@name="name"]
[@class="my&class form-control"]
@@ -2021,7 +2021,7 @@ public function testInteger()
$form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\IntegerType', 123);
$this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/input
+ '/input
[@type="number"]
[@name="name"]
[@class="my&class form-control"]
@@ -2037,7 +2037,7 @@ public function testIntegerTypeWithGroupingRendersAsTextInput()
]);
$this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/input
+ '/input
[@type="text"]
[@name="name"]
[@class="my&class form-control"]
@@ -2051,7 +2051,7 @@ public function testLanguage()
$form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\LanguageType', 'de');
$this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/select
+ '/select
[@name="name"]
[@class="my&class form-control"]
[./option[@value="de"][@selected="selected"][.="German"]]
@@ -2065,7 +2065,7 @@ public function testLocale()
$form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\LocaleType', 'de_AT');
$this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/select
+ '/select
[@name="name"]
[@class="my&class form-control"]
[./option[@value="de_AT"][@selected="selected"][.="German (Austria)"]]
@@ -2081,7 +2081,7 @@ public function testMoney()
]);
$this->assertWidgetMatchesXpath($form->createView(), ['id' => 'my&id', 'attr' => ['class' => 'my&class']],
-'/div
+ '/div
[@class="input-group"]
[
./span
@@ -2105,7 +2105,7 @@ public function testMoneyWithoutCurrency()
]);
$this->assertWidgetMatchesXpath($form->createView(), ['id' => 'my&id', 'attr' => ['class' => 'my&class']],
-'/input
+ '/input
[@id="my&id"]
[@type="text"]
[@name="name"]
@@ -2122,7 +2122,7 @@ public function testNumber()
$form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\NumberType', 1234.56);
$this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/input
+ '/input
[@type="text"]
[@name="name"]
[@class="my&class form-control"]
@@ -2152,7 +2152,7 @@ public function testPassword()
$form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\PasswordType', 'foo&bar');
$this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/input
+ '/input
[@type="password"]
[@name="name"]
[@class="my&class form-control"]
@@ -2168,7 +2168,7 @@ public function testPasswordSubmittedWithNotAlwaysEmpty()
$form->submit('foo&bar');
$this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/input
+ '/input
[@type="password"]
[@name="name"]
[@class="my&class form-control"]
@@ -2184,7 +2184,7 @@ public function testPasswordWithMaxLength()
]);
$this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/input
+ '/input
[@type="password"]
[@name="name"]
[@class="my&class form-control"]
@@ -2198,7 +2198,7 @@ public function testPercent()
$form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\PercentType', 0.1);
$this->assertWidgetMatchesXpath($form->createView(), ['id' => 'my&id', 'attr' => ['class' => 'my&class']],
-'/div
+ '/div
[@class="input-group"]
[
./input
@@ -2219,7 +2219,7 @@ public function testPercentNoSymbol()
{
$form = $this->factory->createNamed('name', PercentType::class, 0.1, ['symbol' => false]);
$this->assertWidgetMatchesXpath($form->createView(), ['id' => 'my&id', 'attr' => ['class' => 'my&class']],
-'/input
+ '/input
[@id="my&id"]
[@type="text"]
[@name="name"]
@@ -2233,7 +2233,7 @@ public function testPercentCustomSymbol()
{
$form = $this->factory->createNamed('name', PercentType::class, 0.1, ['symbol' => '‱']);
$this->assertWidgetMatchesXpath($form->createView(), ['id' => 'my&id', 'attr' => ['class' => 'my&class']],
-'/div
+ '/div
[@class="input-group"]
[
./input
@@ -2255,7 +2255,7 @@ public function testCheckedRadio()
$form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\RadioType', true);
$this->assertWidgetMatchesXpath($form->createView(), ['id' => 'my&id', 'attr' => ['class' => 'my&class']],
-'/div
+ '/div
[@class="radio"]
[
./label
@@ -2279,7 +2279,7 @@ public function testUncheckedRadio()
$form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\RadioType', false);
$this->assertWidgetMatchesXpath($form->createView(), ['id' => 'my&id', 'attr' => ['class' => 'my&class']],
-'/div
+ '/div
[@class="radio"]
[
./label
@@ -2304,7 +2304,7 @@ public function testRadioWithValue()
]);
$this->assertWidgetMatchesXpath($form->createView(), ['id' => 'my&id', 'attr' => ['class' => 'my&class']],
-'/div
+ '/div
[@class="radio"]
[
./label
@@ -2328,7 +2328,7 @@ public function testRadioRowWithHelp()
$html = $this->renderRow($form->createView(), ['label' => 'foo', 'help' => 'really helpful text']);
$this->assertMatchesXpath($html,
-'/div
+ '/div
[@class="form-group"]
[
./span[text() = "[trans]really helpful text[/trans]"]
@@ -2342,7 +2342,7 @@ public function testRange()
$form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\RangeType', 42, ['attr' => ['min' => 5]]);
$this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/input
+ '/input
[@type="range"]
[@name="name"]
[@value="42"]
@@ -2357,7 +2357,7 @@ public function testRangeWithMinMaxValues()
$form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\RangeType', 42, ['attr' => ['min' => 5, 'max' => 57]]);
$this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/input
+ '/input
[@type="range"]
[@name="name"]
[@value="42"]
@@ -2375,7 +2375,7 @@ public function testTextarea()
]);
$this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/textarea
+ '/textarea
[@name="name"]
[not(@pattern)]
[@class="my&class form-control"]
@@ -2389,7 +2389,7 @@ public function testText()
$form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\TextType', 'foo&bar');
$this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/input
+ '/input
[@type="text"]
[@name="name"]
[@class="my&class form-control"]
@@ -2406,7 +2406,7 @@ public function testTextWithMaxLength()
]);
$this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/input
+ '/input
[@type="text"]
[@name="name"]
[@class="my&class form-control"]
@@ -2421,7 +2421,7 @@ public function testSearch()
$form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\SearchType', 'foo&bar');
$this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/input
+ '/input
[@type="search"]
[@name="name"]
[@class="my&class form-control"]
@@ -2439,7 +2439,7 @@ public function testTime()
]);
$this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/div
+ '/div
[@class="my&class form-inline"]
[
./select
@@ -2466,7 +2466,7 @@ public function testTimeWithSeconds()
]);
$this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/div
+ '/div
[@class="my&class form-inline"]
[
./select
@@ -2501,7 +2501,7 @@ public function testTimeText()
]);
$this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/div
+ '/div
[@class="my&class form-inline"]
[
./input
@@ -2534,7 +2534,7 @@ public function testTimeSingleText()
]);
$this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/input
+ '/input
[@type="time"]
[@name="name"]
[@class="my&class form-control"]
@@ -2553,7 +2553,7 @@ public function testTimeWithPlaceholderGlobal()
]);
$this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/div
+ '/div
[@class="my&class form-inline"]
[
./select
@@ -2580,7 +2580,7 @@ public function testTimeWithPlaceholderOnYear()
]);
$this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/div
+ '/div
[@class="my&class form-inline"]
[
./select
@@ -2603,7 +2603,7 @@ public function testTimezone()
$form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\TimezoneType', 'Europe/Vienna');
$this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/select
+ '/select
[@name="name"]
[@class="my&class form-control"]
[not(@required)]
@@ -2621,7 +2621,7 @@ public function testTimezoneWithPlaceholder()
]);
$this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/select
+ '/select
[@class="my&class form-control"]
[./option[@value=""][not(@selected)][not(@disabled)][.="[trans]Select&Timezone[/trans]"]]
[count(.//option)>201]
@@ -2635,7 +2635,7 @@ public function testUrlWithDefaultProtocol()
$form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\UrlType', $url, ['default_protocol' => 'http']);
$this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/input
+ '/input
[@type="text"]
[@name="name"]
[@class="my&class form-control"]
diff --git a/src/Symfony/Bridge/Twig/Tests/Extension/AbstractBootstrap4HorizontalLayoutTest.php b/src/Symfony/Bridge/Twig/Tests/Extension/AbstractBootstrap4HorizontalLayoutTest.php
index e20f4818b2810..51aa10e416d88 100644
--- a/src/Symfony/Bridge/Twig/Tests/Extension/AbstractBootstrap4HorizontalLayoutTest.php
+++ b/src/Symfony/Bridge/Twig/Tests/Extension/AbstractBootstrap4HorizontalLayoutTest.php
@@ -53,7 +53,7 @@ public function testLabelOnForm()
$html = $this->renderLabel($view);
$this->assertMatchesXpath($html,
-'/legend
+ '/legend
[@class="col-form-label col-sm-2 col-form-label required"]
[.="[trans]Name[/trans]"]
'
@@ -70,7 +70,7 @@ public function testLabelDoesNotRenderFieldAttributes()
]);
$this->assertMatchesXpath($html,
-'/label
+ '/label
[@for="name"]
[@class="col-form-label col-sm-2 required"]
'
@@ -87,7 +87,7 @@ public function testLabelWithCustomAttributesPassedDirectly()
]);
$this->assertMatchesXpath($html,
-'/label
+ '/label
[@for="name"]
[@class="my&class col-form-label col-sm-2 required"]
'
@@ -104,7 +104,7 @@ public function testLabelWithCustomTextAndCustomAttributesPassedDirectly()
]);
$this->assertMatchesXpath($html,
-'/label
+ '/label
[@for="name"]
[@class="my&class col-form-label col-sm-2 required"]
[.="[trans]Custom label[/trans]"]
@@ -124,7 +124,7 @@ public function testLabelWithCustomTextAsOptionAndCustomAttributesPassedDirectly
]);
$this->assertMatchesXpath($html,
-'/label
+ '/label
[@for="name"]
[@class="my&class col-form-label col-sm-2 required"]
[.="[trans]Custom label[/trans]"]
@@ -144,7 +144,7 @@ public function testLegendOnExpandedType()
$html = $this->renderLabel($view);
$this->assertMatchesXpath($html,
-'/legend
+ '/legend
[@class="col-sm-2 col-form-label required"]
[.="[trans]Custom label[/trans]"]
'
@@ -222,7 +222,7 @@ public function testCheckboxRowWithHelp()
$html = $this->renderRow($view, ['label' => 'foo', 'help' => 'really helpful text']);
$this->assertMatchesXpath($html,
-'/div
+ '/div
[@class="form-group row"]
[
./div[@class="col-sm-2" or @class="col-sm-10"]
@@ -241,7 +241,7 @@ public function testRadioRowWithHelp()
$html = $this->renderRow($form->createView(), ['label' => 'foo', 'help' => 'really helpful text']);
$this->assertMatchesXpath($html,
-'/div
+ '/div
[@class="form-group row"]
[
./div[@class="col-sm-2" or @class="col-sm-10"]
diff --git a/src/Symfony/Bridge/Twig/Tests/Extension/AbstractBootstrap4LayoutTest.php b/src/Symfony/Bridge/Twig/Tests/Extension/AbstractBootstrap4LayoutTest.php
index 224469a516f2e..3e02351c4f9f4 100644
--- a/src/Symfony/Bridge/Twig/Tests/Extension/AbstractBootstrap4LayoutTest.php
+++ b/src/Symfony/Bridge/Twig/Tests/Extension/AbstractBootstrap4LayoutTest.php
@@ -63,7 +63,7 @@ public function testLabelOnForm()
$html = $this->renderLabel($view);
$this->assertMatchesXpath($html,
-'/legend
+ '/legend
[@class="col-form-label required"]
[.="[trans]Name[/trans]"]
'
@@ -80,7 +80,7 @@ public function testLabelDoesNotRenderFieldAttributes()
]);
$this->assertMatchesXpath($html,
-'/label
+ '/label
[@for="name"]
[@class="required"]
'
@@ -97,7 +97,7 @@ public function testLabelWithCustomAttributesPassedDirectly()
]);
$this->assertMatchesXpath($html,
-'/label
+ '/label
[@for="name"]
[@class="my&class required"]
'
@@ -114,7 +114,7 @@ public function testLabelWithCustomTextAndCustomAttributesPassedDirectly()
]);
$this->assertMatchesXpath($html,
-'/label
+ '/label
[@for="name"]
[@class="my&class required"]
[.="[trans]Custom label[/trans]"]
@@ -134,7 +134,7 @@ public function testLabelWithCustomTextAsOptionAndCustomAttributesPassedDirectly
]);
$this->assertMatchesXpath($html,
-'/label
+ '/label
[@for="name"]
[@class="my&class required"]
[.="[trans]Custom label[/trans]"]
@@ -154,7 +154,7 @@ public function testLegendOnExpandedType()
$html = $this->renderLabel($view);
$this->assertMatchesXpath($html,
-'/legend
+ '/legend
[@class="col-form-label required"]
[.="[trans]Custom label[/trans]"]
'
@@ -170,7 +170,7 @@ public function testHelp()
$html = $this->renderHelp($view);
$this->assertMatchesXpath($html,
-'/small
+ '/small
[@id="name_help"]
[@class="form-text text-muted"]
[.="[trans]Help text test![/trans]"]
@@ -290,7 +290,7 @@ public function testErrors()
$html = $this->renderErrors($view);
$this->assertMatchesXpath($html,
-'/span
+ '/span
[@class="alert alert-danger d-block"]
[
./span[@class="d-block"]
@@ -321,7 +321,7 @@ public function testCheckedCheckbox()
$form = $this->factory->createNamed('name', CheckboxType::class, true);
$this->assertWidgetMatchesXpath($form->createView(), ['id' => 'my&id', 'attr' => ['class' => 'my&class']],
-'/div
+ '/div
[@class="form-check"]
[
./input[@type="checkbox"][@name="name"][@id="my&id"][@class="my&class form-check-input"][@checked="checked"][@value="1"]
@@ -343,7 +343,7 @@ public function testSingleChoiceAttributesWithMainAttributes()
]);
$this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'bar&baz']],
-'/select
+ '/select
[@name="name"]
[@class="bar&baz form-control"]
[not(@required)]
@@ -366,7 +366,7 @@ public function testSingleExpandedChoiceAttributesWithMainAttributes()
]);
$this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'bar&baz']],
-'/div
+ '/div
[@class="bar&baz"]
[
./div
@@ -394,7 +394,7 @@ public function testUncheckedCheckbox()
$form = $this->factory->createNamed('name', CheckboxType::class, false);
$this->assertWidgetMatchesXpath($form->createView(), ['id' => 'my&id', 'attr' => ['class' => 'my&class']],
-'/div
+ '/div
[@class="form-check"]
[
./input[@type="checkbox"][@name="name"][@id="my&id"][@class="my&class form-check-input"][not(@checked)]
@@ -412,7 +412,7 @@ public function testCheckboxWithValue()
]);
$this->assertWidgetMatchesXpath($form->createView(), ['id' => 'my&id', 'attr' => ['class' => 'my&class']],
-'/div
+ '/div
[@class="form-check"]
[
./input[@type="checkbox"][@name="name"][@id="my&id"][@class="my&class form-check-input"][@value="foo&bar"]
@@ -447,7 +447,7 @@ public function testSingleChoiceExpanded()
]);
$this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+ '/div
[
./div
[@class="form-check"]
@@ -479,7 +479,7 @@ public function testSingleChoiceExpandedWithLabelsAsFalse()
]);
$this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+ '/div
[
./div
[@class="form-check"]
@@ -515,7 +515,7 @@ public function testSingleChoiceExpandedWithLabelsSetByCallable()
]);
$this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+ '/div
[
./div
[@class="form-check"]
@@ -555,7 +555,7 @@ public function testSingleChoiceExpandedWithLabelsSetFalseByCallable()
]);
$this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+ '/div
[
./div
[@class="form-check"]
@@ -585,7 +585,7 @@ public function testSingleChoiceExpandedWithoutTranslation()
]);
$this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+ '/div
[
./div
[@class="form-check"]
@@ -617,7 +617,7 @@ public function testSingleChoiceExpandedAttributes()
]);
$this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+ '/div
[
./div
[@class="form-check"]
@@ -650,7 +650,7 @@ public function testSingleChoiceExpandedWithPlaceholder()
]);
$this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+ '/div
[
./div
[@class="form-check"]
@@ -691,7 +691,7 @@ public function testSingleChoiceExpandedWithPlaceholderWithoutTranslation()
]);
$this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+ '/div
[
./div
[@class="form-check"]
@@ -729,7 +729,7 @@ public function testSingleChoiceExpandedWithBooleanValue()
]);
$this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+ '/div
[
./div
[@class="form-check"]
@@ -761,7 +761,7 @@ public function testMultipleChoiceExpanded()
]);
$this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+ '/div
[
./div
[@class="form-check"]
@@ -800,7 +800,7 @@ public function testMultipleChoiceExpandedWithLabelsAsFalse()
]);
$this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+ '/div
[
./div
[@class="form-check"]
@@ -876,7 +876,7 @@ public function testMultipleChoiceExpandedWithLabelsSetFalseByCallable()
]);
$this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+ '/div
[
./div
[@class="form-check"]
@@ -907,7 +907,7 @@ public function testMultipleChoiceExpandedWithoutTranslation()
]);
$this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+ '/div
[
./div
[@class="form-check"]
@@ -947,7 +947,7 @@ public function testMultipleChoiceExpandedAttributes()
]);
$this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+ '/div
[
./div
[@class="form-check"]
@@ -981,7 +981,7 @@ public function testCheckedRadio()
$form = $this->factory->createNamed('name', RadioType::class, true);
$this->assertWidgetMatchesXpath($form->createView(), ['id' => 'my&id', 'attr' => ['class' => 'my&class']],
-'/div
+ '/div
[@class="form-check"]
[
./input
@@ -1003,7 +1003,7 @@ public function testUncheckedRadio()
$form = $this->factory->createNamed('name', RadioType::class, false);
$this->assertWidgetMatchesXpath($form->createView(), ['id' => 'my&id', 'attr' => ['class' => 'my&class']],
-'/div
+ '/div
[@class="form-check"]
[
./input
@@ -1026,7 +1026,7 @@ public function testRadioWithValue()
]);
$this->assertWidgetMatchesXpath($form->createView(), ['id' => 'my&id', 'attr' => ['class' => 'my&class']],
-'/div
+ '/div
[@class="form-check"]
[
./input
@@ -1049,7 +1049,7 @@ public function testRadioRowWithHelp()
$html = $this->renderRow($form->createView(), ['label' => 'foo', 'help' => 'really helpful text']);
$this->assertMatchesXpath($html,
-'/div
+ '/div
[@class="form-group"]
[
./small[text() = "[trans]really helpful text[/trans]"]
@@ -1075,7 +1075,7 @@ public function testFile()
$form = $this->factory->createNamed('name', FileType::class);
$this->assertWidgetMatchesXpath($form->createView(), ['id' => 'n/a', 'attr' => ['class' => 'my&class form-control-file']],
-'/div
+ '/div
[@class="custom-file"]
[
./input
@@ -1093,7 +1093,7 @@ public function testFileLabelIdNotDuplicated()
$form = $this->factory->createNamed('name', FileType::class);
$this->assertWidgetMatchesXpath($form->createView(), ['id' => 'n/a', 'attr' => ['class' => 'my&class form-control-file'], 'label_attr' => ['id' => 'label-id']],
-'/div
+ '/div
[@class="custom-file"]
[
./input
@@ -1111,7 +1111,7 @@ public function testFileWithPlaceholder()
$form = $this->factory->createNamed('name', FileType::class);
$this->assertWidgetMatchesXpath($form->createView(), ['id' => 'n/a', 'attr' => ['class' => 'my&class form-control-file', 'placeholder' => 'Custom Placeholder']],
-'/div
+ '/div
[@class="custom-file"]
[
./input
@@ -1131,7 +1131,7 @@ public function testMoney()
]);
$this->assertWidgetMatchesXpath($form->createView(), ['id' => 'my&id', 'attr' => ['class' => 'my&class']],
-'/div
+ '/div
[@class="input-group"]
[
./div
@@ -1157,7 +1157,7 @@ public function testPercent()
$form = $this->factory->createNamed('name', PercentType::class, 0.1);
$this->assertWidgetMatchesXpath($form->createView(), ['id' => 'my&id', 'attr' => ['class' => 'my&class']],
-'/div
+ '/div
[@class="input-group"]
[
./input
@@ -1182,7 +1182,7 @@ public function testPercentNoSymbol()
{
$form = $this->factory->createNamed('name', PercentType::class, 0.1, ['symbol' => false]);
$this->assertWidgetMatchesXpath($form->createView(), ['id' => 'my&id', 'attr' => ['class' => 'my&class']],
-'/input
+ '/input
[@id="my&id"]
[@type="text"]
[@name="name"]
@@ -1196,7 +1196,7 @@ public function testPercentCustomSymbol()
{
$form = $this->factory->createNamed('name', PercentType::class, 0.1, ['symbol' => '‱']);
$this->assertWidgetMatchesXpath($form->createView(), ['id' => 'my&id', 'attr' => ['class' => 'my&class']],
-'/div
+ '/div
[@class="input-group"]
[
./input
@@ -1224,7 +1224,7 @@ public function testRange()
$this->assertWidgetMatchesXpath(
$form->createView(),
['attr' => ['class' => 'my&class']],
-'/input
+ '/input
[@type="range"]
[@name="name"]
[@value="42"]
@@ -1241,7 +1241,7 @@ public function testRangeWithMinMaxValues()
$this->assertWidgetMatchesXpath(
$form->createView(),
['attr' => ['class' => 'my&class']],
-'/input
+ '/input
[@type="range"]
[@name="name"]
[@value="42"]
diff --git a/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap3LayoutTest.php b/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap3LayoutTest.php
index 38c445f927726..3535d4b6356e0 100644
--- a/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap3LayoutTest.php
+++ b/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap3LayoutTest.php
@@ -102,7 +102,7 @@ public function testMoneyWidgetInIso()
€
HTML
- , trim($this->renderWidget($view)));
+ , trim($this->renderWidget($view)));
}
protected function renderForm(FormView $view, array $vars = [])
diff --git a/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap4LayoutTest.php b/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap4LayoutTest.php
index 7dda79420ca12..5158c5a1e895c 100644
--- a/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap4LayoutTest.php
+++ b/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap4LayoutTest.php
@@ -106,7 +106,7 @@ public function testMoneyWidgetInIso()
€
HTML
- , trim($this->renderWidget($view)));
+ , trim($this->renderWidget($view)));
}
protected function renderForm(FormView $view, array $vars = [])
diff --git a/src/Symfony/Bridge/Twig/Tests/Node/FormThemeTest.php b/src/Symfony/Bridge/Twig/Tests/Node/FormThemeTest.php
index 89d4460fa98cb..ab45b83fecd72 100644
--- a/src/Symfony/Bridge/Twig/Tests/Node/FormThemeTest.php
+++ b/src/Symfony/Bridge/Twig/Tests/Node/FormThemeTest.php
@@ -64,7 +64,7 @@ public function testCompile()
sprintf(
'$this->env->getRuntime("Symfony\\\\Component\\\\Form\\\\FormRenderer")->setTheme(%s, [0 => "tpl1", 1 => "tpl2"], true);',
$this->getVariableGetter('form')
- ),
+ ),
trim($compiler->compile($node)->getSource())
);
@@ -74,7 +74,7 @@ public function testCompile()
sprintf(
'$this->env->getRuntime("Symfony\\\\Component\\\\Form\\\\FormRenderer")->setTheme(%s, [0 => "tpl1", 1 => "tpl2"], false);',
$this->getVariableGetter('form')
- ),
+ ),
trim($compiler->compile($node)->getSource())
);
@@ -86,7 +86,7 @@ public function testCompile()
sprintf(
'$this->env->getRuntime("Symfony\\\\Component\\\\Form\\\\FormRenderer")->setTheme(%s, "tpl1", true);',
$this->getVariableGetter('form')
- ),
+ ),
trim($compiler->compile($node)->getSource())
);
@@ -96,7 +96,7 @@ public function testCompile()
sprintf(
'$this->env->getRuntime("Symfony\\\\Component\\\\Form\\\\FormRenderer")->setTheme(%s, "tpl1", false);',
$this->getVariableGetter('form')
- ),
+ ),
trim($compiler->compile($node)->getSource())
);
}
diff --git a/src/Symfony/Bridge/Twig/Tests/Node/SearchAndRenderBlockNodeTest.php b/src/Symfony/Bridge/Twig/Tests/Node/SearchAndRenderBlockNodeTest.php
index 59a8b10a9d065..42cb1762b050d 100644
--- a/src/Symfony/Bridge/Twig/Tests/Node/SearchAndRenderBlockNodeTest.php
+++ b/src/Symfony/Bridge/Twig/Tests/Node/SearchAndRenderBlockNodeTest.php
@@ -38,7 +38,7 @@ public function testCompileWidget()
sprintf(
'$this->env->getRuntime(\'Symfony\Component\Form\FormRenderer\')->searchAndRenderBlock(%s, \'widget\')',
$this->getVariableGetter('form')
- ),
+ ),
trim($compiler->compile($node)->getSource())
);
}
diff --git a/src/Symfony/Bridge/Twig/Tests/Node/TransNodeTest.php b/src/Symfony/Bridge/Twig/Tests/Node/TransNodeTest.php
index 72997273aced1..c6d3064676937 100644
--- a/src/Symfony/Bridge/Twig/Tests/Node/TransNodeTest.php
+++ b/src/Symfony/Bridge/Twig/Tests/Node/TransNodeTest.php
@@ -38,8 +38,8 @@ public function testCompileStrict()
'echo $this->env->getExtension(\'Symfony\Bridge\Twig\Extension\TranslationExtension\')->trans("trans %%var%%", array_merge(["%%var%%" => %s], %s), "messages");',
$this->getVariableGetterWithoutStrictCheck('var'),
$this->getVariableGetterWithStrictCheck('foo')
- ),
- trim($compiler->compile($node)->getSource())
+ ),
+ trim($compiler->compile($node)->getSource())
);
}
diff --git a/src/Symfony/Bundle/FrameworkBundle/Command/AboutCommand.php b/src/Symfony/Bundle/FrameworkBundle/Command/AboutCommand.php
index 8c454cbded9b3..23cd6ac8eceb3 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Command/AboutCommand.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Command/AboutCommand.php
@@ -84,8 +84,8 @@ protected function execute(InputInterface $input, OutputInterface $output): int
['Architecture', (\PHP_INT_SIZE * 8).' bits'],
['Intl locale', class_exists(\Locale::class, false) && \Locale::getDefault() ? \Locale::getDefault() : 'n/a'],
['Timezone', date_default_timezone_get().' ('.(new \DateTime())->format(\DateTime::W3C).'>)'],
- ['OPcache', \extension_loaded('Zend OPcache') && filter_var(ini_get('opcache.enable'), \FILTER_VALIDATE_BOOLEAN) ? 'true' : 'false'],
- ['APCu', \extension_loaded('apcu') && filter_var(ini_get('apc.enabled'), \FILTER_VALIDATE_BOOLEAN) ? 'true' : 'false'],
+ ['OPcache', \extension_loaded('Zend OPcache') && filter_var(\ini_get('opcache.enable'), \FILTER_VALIDATE_BOOLEAN) ? 'true' : 'false'],
+ ['APCu', \extension_loaded('apcu') && filter_var(\ini_get('apc.enabled'), \FILTER_VALIDATE_BOOLEAN) ? 'true' : 'false'],
['Xdebug', \extension_loaded('xdebug') ? 'true' : 'false'],
];
diff --git a/src/Symfony/Bundle/FrameworkBundle/Command/ConfigDebugCommand.php b/src/Symfony/Bundle/FrameworkBundle/Command/ConfigDebugCommand.php
index a0623f396127b..063932dee5782 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Command/ConfigDebugCommand.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Command/ConfigDebugCommand.php
@@ -91,7 +91,7 @@ protected function execute(InputInterface $input, OutputInterface $output): int
if (null === $path = $input->getArgument('path')) {
$io->title(
- sprintf('Current configuration for %s', ($name === $extensionAlias ? sprintf('extension with alias "%s"', $extensionAlias) : sprintf('"%s"', $name)))
+ sprintf('Current configuration for %s', $name === $extensionAlias ? sprintf('extension with alias "%s"', $extensionAlias) : sprintf('"%s"', $name))
);
$io->writeln(Yaml::dump([$extensionAlias => $config], 10));
diff --git a/src/Symfony/Bundle/FrameworkBundle/Command/XliffLintCommand.php b/src/Symfony/Bundle/FrameworkBundle/Command/XliffLintCommand.php
index a52177acc0471..648e210d4807d 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Command/XliffLintCommand.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Command/XliffLintCommand.php
@@ -57,6 +57,6 @@ protected function configure()
php %command.full_name% @AcmeDemoBundle
EOF
- );
+ );
}
}
diff --git a/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/TextDescriptor.php b/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/TextDescriptor.php
index ea1d3a6abec31..67669e5a3c3cc 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/TextDescriptor.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/TextDescriptor.php
@@ -87,11 +87,11 @@ protected function describeRoute(Route $route, array $options = [])
['Route Name', $options['name'] ?? ''],
['Path', $route->getPath()],
['Path Regex', $route->compile()->getRegex()],
- ['Host', ('' !== $route->getHost() ? $route->getHost() : 'ANY')],
- ['Host Regex', ('' !== $route->getHost() ? $route->compile()->getHostRegex() : '')],
- ['Scheme', ($route->getSchemes() ? implode('|', $route->getSchemes()) : 'ANY')],
- ['Method', ($route->getMethods() ? implode('|', $route->getMethods()) : 'ANY')],
- ['Requirements', ($route->getRequirements() ? $this->formatRouterConfig($route->getRequirements()) : 'NO CUSTOM')],
+ ['Host', '' !== $route->getHost() ? $route->getHost() : 'ANY'],
+ ['Host Regex', '' !== $route->getHost() ? $route->compile()->getHostRegex() : ''],
+ ['Scheme', $route->getSchemes() ? implode('|', $route->getSchemes()) : 'ANY'],
+ ['Method', $route->getMethods() ? implode('|', $route->getMethods()) : 'ANY'],
+ ['Requirements', $route->getRequirements() ? $this->formatRouterConfig($route->getRequirements()) : 'NO CUSTOM'],
['Class', \get_class($route)],
['Defaults', $this->formatRouterConfig($route->getDefaults())],
['Options', $this->formatRouterConfig($route->getOptions())],
diff --git a/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php b/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php
index ca338fc2054db..c19144ba5f204 100644
--- a/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php
+++ b/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php
@@ -227,7 +227,7 @@ public function load(array $configs, ContainerBuilder $container)
// mark any env vars found in the ide setting as used
$container->resolveEnvPlaceholders($ide);
- $container->setParameter('templating.helper.code.file_link_format', str_replace('%', '%%', ini_get('xdebug.file_link_format') ?: get_cfg_var('xdebug.file_link_format')) ?: ($links[$ide] ?? $ide));
+ $container->setParameter('templating.helper.code.file_link_format', str_replace('%', '%%', \ini_get('xdebug.file_link_format') ?: get_cfg_var('xdebug.file_link_format')) ?: ($links[$ide] ?? $ide));
}
$container->setParameter('debug.file_link_format', '%templating.helper.code.file_link_format%');
}
@@ -496,6 +496,10 @@ private function registerFormConfiguration(array $config, ContainerBuilder $cont
}
if ($this->isConfigEnabled($container, $config['form']['csrf_protection'])) {
+ if (!$container->hasDefinition('security.csrf.token_generator')) {
+ throw new \LogicException('To use form CSRF protection, "framework.csrf_protection" must be enabled.');
+ }
+
$loader->load('form_csrf.xml');
$container->setParameter('form.type_extension.csrf.enabled', true);
@@ -719,7 +723,7 @@ private function registerWorkflowConfiguration(array $config, ContainerBuilder $
$markingStoreDefinition = new ChildDefinition('workflow.marking_store.'.$workflow['marking_store']['type']);
if ('method' === $workflow['marking_store']['type']) {
$markingStoreDefinition->setArguments([
- 'state_machine' === $type, //single state
+ 'state_machine' === $type, // single state
$workflow['marking_store']['property'] ?? 'marking',
]);
} else {
diff --git a/src/Symfony/Bundle/FrameworkBundle/Routing/Router.php b/src/Symfony/Bundle/FrameworkBundle/Routing/Router.php
index de23e474fc16c..50b820871427d 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Routing/Router.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Routing/Router.php
@@ -178,14 +178,14 @@ private function resolve($value)
$resolved = ($this->paramFetcher)($match[1]);
- if (is_scalar($resolved)) {
+ if (\is_scalar($resolved)) {
$this->collectedParameters[$match[1]] = $resolved;
if (\is_string($resolved)) {
$resolved = $this->resolve($resolved);
}
- if (is_scalar($resolved)) {
+ if (\is_scalar($resolved)) {
return false === $resolved ? '0' : (string) $resolved;
}
}
diff --git a/src/Symfony/Bundle/FrameworkBundle/Templating/Helper/CodeHelper.php b/src/Symfony/Bundle/FrameworkBundle/Templating/Helper/CodeHelper.php
index 427bd41d0dee8..b0a7291d93ab4 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Templating/Helper/CodeHelper.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Templating/Helper/CodeHelper.php
@@ -36,7 +36,7 @@ class CodeHelper extends Helper
*/
public function __construct($fileLinkFormat, string $projectDir, string $charset)
{
- $this->fileLinkFormat = $fileLinkFormat ?: ini_get('xdebug.file_link_format') ?: get_cfg_var('xdebug.file_link_format');
+ $this->fileLinkFormat = $fileLinkFormat ?: \ini_get('xdebug.file_link_format') ?: get_cfg_var('xdebug.file_link_format');
$this->rootDir = str_replace('\\', '/', $projectDir).'/';
$this->charset = $charset;
}
diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/Console/Descriptor/AbstractDescriptorTest.php b/src/Symfony/Bundle/FrameworkBundle/Tests/Console/Descriptor/AbstractDescriptorTest.php
index d45814da781e6..fec5a980926c3 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Tests/Console/Descriptor/AbstractDescriptorTest.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Tests/Console/Descriptor/AbstractDescriptorTest.php
@@ -208,11 +208,25 @@ public function testDescribeCallable($callable, $expectedDescription)
$this->assertDescription($expectedDescription, $callable);
}
- public function getDescribeCallableTestData()
+ public function getDescribeCallableTestData(): array
{
return $this->getDescriptionTestData(ObjectsProvider::getCallables());
}
+ /**
+ * @group legacy
+ * @dataProvider getDescribeDeprecatedCallableTestData
+ */
+ public function testDescribeDeprecatedCallable($callable, $expectedDescription)
+ {
+ $this->assertDescription($expectedDescription, $callable);
+ }
+
+ public function getDescribeDeprecatedCallableTestData(): array
+ {
+ return $this->getDescriptionTestData(ObjectsProvider::getDeprecatedCallables());
+ }
+
/** @dataProvider getClassDescriptionTestData */
public function testGetClassDescription($object, $expectedDescription)
{
diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/Console/Descriptor/ObjectsProvider.php b/src/Symfony/Bundle/FrameworkBundle/Tests/Console/Descriptor/ObjectsProvider.php
index 05031fa7fcfb6..a097e058be7dd 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Tests/Console/Descriptor/ObjectsProvider.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Tests/Console/Descriptor/ObjectsProvider.php
@@ -229,19 +229,25 @@ public static function getEventDispatchers()
return ['event_dispatcher_1' => $eventDispatcher];
}
- public static function getCallables()
+ public static function getCallables(): array
{
return [
'callable_1' => 'array_key_exists',
'callable_2' => ['Symfony\\Bundle\\FrameworkBundle\\Tests\\Console\\Descriptor\\CallableClass', 'staticMethod'],
'callable_3' => [new CallableClass(), 'method'],
'callable_4' => 'Symfony\\Bundle\\FrameworkBundle\\Tests\\Console\\Descriptor\\CallableClass::staticMethod',
- 'callable_5' => ['Symfony\\Bundle\\FrameworkBundle\\Tests\\Console\\Descriptor\\ExtendedCallableClass', 'parent::staticMethod'],
'callable_6' => function () { return 'Closure'; },
'callable_7' => new CallableClass(),
'callable_from_callable' => \Closure::fromCallable(new CallableClass()),
];
}
+
+ public static function getDeprecatedCallables(): array
+ {
+ return [
+ 'callable_5' => ['Symfony\\Bundle\\FrameworkBundle\\Tests\\Console\\Descriptor\\ExtendedCallableClass', 'parent::staticMethod'],
+ ];
+ }
}
class CallableClass
diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/php/form_csrf_disabled.php b/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/php/form_csrf_disabled.php
new file mode 100644
index 0000000000000..bd482c48de63c
--- /dev/null
+++ b/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/php/form_csrf_disabled.php
@@ -0,0 +1,8 @@
+loadFromExtension('framework', [
+ 'csrf_protection' => false,
+ 'form' => [
+ 'csrf_protection' => true,
+ ],
+]);
diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/xml/form_csrf_disabled.xml b/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/xml/form_csrf_disabled.xml
new file mode 100644
index 0000000000000..e2b7167c84238
--- /dev/null
+++ b/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/xml/form_csrf_disabled.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/yml/form_csrf_disabled.yml b/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/yml/form_csrf_disabled.yml
new file mode 100644
index 0000000000000..9319019c8641a
--- /dev/null
+++ b/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/yml/form_csrf_disabled.yml
@@ -0,0 +1,4 @@
+framework:
+ csrf_protection: false
+ form:
+ csrf_protection: true
diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php b/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php
index e86e22a201d53..38e502db56b46 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php
@@ -84,6 +84,14 @@ public function testFormCsrfProtection()
$this->assertEquals('%form.type_extension.csrf.field_name%', $def->getArgument(2));
}
+ public function testFormCsrfProtectionWithCsrfDisabled()
+ {
+ $this->expectException(\LogicException::class);
+ $this->expectExceptionMessage('To use form CSRF protection, "framework.csrf_protection" must be enabled.');
+
+ $this->createContainerFromFile('form_csrf_disabled');
+ }
+
public function testPropertyAccessWithDefaultValue()
{
$container = $this->createContainerFromFile('full');
@@ -1009,7 +1017,7 @@ public function testAnnotations()
public function testFileLinkFormat()
{
- if (ini_get('xdebug.file_link_format') || get_cfg_var('xdebug.file_link_format')) {
+ if (\ini_get('xdebug.file_link_format') || get_cfg_var('xdebug.file_link_format')) {
$this->markTestSkipped('A custom file_link_format is defined.');
}
diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/ContainerDebugCommandTest.php b/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/ContainerDebugCommandTest.php
index 537ee77174622..70b7bfcaafc5d 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/ContainerDebugCommandTest.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/ContainerDebugCommandTest.php
@@ -116,7 +116,7 @@ public function testDescribeEnvVars()
* UNKNOWN
TXT
- , $tester->getDisplay(true));
+ , $tester->getDisplay(true));
putenv('REAL');
}
diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/Translation/TranslatorTest.php b/src/Symfony/Bundle/FrameworkBundle/Tests/Translation/TranslatorTest.php
index 9c3f2e78d610f..c05b7093c7538 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Tests/Translation/TranslatorTest.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Tests/Translation/TranslatorTest.php
@@ -176,7 +176,7 @@ public function testInvalidOptions()
$this->expectExceptionMessage('The Translator does not support the following options: \'foo\'');
$container = $this->createMock(ContainerInterface::class);
- (new Translator($container, new MessageFormatter(), 'en', [], ['foo' => 'bar']));
+ new Translator($container, new MessageFormatter(), 'en', [], ['foo' => 'bar']);
}
/** @dataProvider getDebugModeAndCacheDirCombinations */
diff --git a/src/Symfony/Bundle/SecurityBundle/DataCollector/SecurityDataCollector.php b/src/Symfony/Bundle/SecurityBundle/DataCollector/SecurityDataCollector.php
index e5756bb0060a3..6efe388aab8b0 100644
--- a/src/Symfony/Bundle/SecurityBundle/DataCollector/SecurityDataCollector.php
+++ b/src/Symfony/Bundle/SecurityBundle/DataCollector/SecurityDataCollector.php
@@ -63,7 +63,7 @@ public function __construct(TokenStorageInterface $tokenStorage = null, RoleHier
*
* @param \Throwable|null $exception
*/
- public function collect(Request $request, Response $response/*, \Throwable $exception = null*/)
+ public function collect(Request $request, Response $response/* , \Throwable $exception = null */)
{
if (null === $this->tokenStorage) {
$this->data = [
diff --git a/src/Symfony/Bundle/SecurityBundle/Tests/Functional/UserPasswordEncoderCommandTest.php b/src/Symfony/Bundle/SecurityBundle/Tests/Functional/UserPasswordEncoderCommandTest.php
index 78864da648876..c2591b7f7f219 100644
--- a/src/Symfony/Bundle/SecurityBundle/Tests/Functional/UserPasswordEncoderCommandTest.php
+++ b/src/Symfony/Bundle/SecurityBundle/Tests/Functional/UserPasswordEncoderCommandTest.php
@@ -284,7 +284,7 @@ public function testEncodePasswordAsksNonProvidedUserClass()
[2] Custom\Class\Test\User
[3] Symfony\Component\Security\Core\User\User
EOTXT
- , $this->passwordEncoderCommandTester->getDisplay(true));
+ , $this->passwordEncoderCommandTester->getDisplay(true));
}
public function testNonInteractiveEncodePasswordUsesFirstUserClass()
diff --git a/src/Symfony/Bundle/WebProfilerBundle/Profiler/TemplateManager.php b/src/Symfony/Bundle/WebProfilerBundle/Profiler/TemplateManager.php
index 24ec5dd6c6d05..f7fa05ab4f98d 100644
--- a/src/Symfony/Bundle/WebProfilerBundle/Profiler/TemplateManager.php
+++ b/src/Symfony/Bundle/WebProfilerBundle/Profiler/TemplateManager.php
@@ -99,7 +99,7 @@ public function getNames(Profile $profile)
/**
* @deprecated since Symfony 4.4
*/
- protected function templateExists($template/*, bool $triggerDeprecation = true */)
+ protected function templateExists($template/* , bool $triggerDeprecation = true */)
{
if (1 === \func_num_args()) {
@trigger_error(sprintf('The "%s()" method is deprecated since Symfony 4.4, use the "exists()" method of the Twig loader instead.', __METHOD__), \E_USER_DEPRECATED);
diff --git a/src/Symfony/Bundle/WebServerBundle/Command/ServerRunCommand.php b/src/Symfony/Bundle/WebServerBundle/Command/ServerRunCommand.php
index cd135385c822e..d52ad02934bde 100644
--- a/src/Symfony/Bundle/WebServerBundle/Command/ServerRunCommand.php
+++ b/src/Symfony/Bundle/WebServerBundle/Command/ServerRunCommand.php
@@ -143,7 +143,7 @@ protected function execute(InputInterface $input, OutputInterface $output)
$message = sprintf('Server listening on all interfaces, port %s -- see http://%s', $config->getPort(), $displayAddress);
}
$io->success($message);
- if (ini_get('xdebug.profiler_enable_trigger')) {
+ if (\ini_get('xdebug.profiler_enable_trigger')) {
$io->comment('Xdebug profiler trigger enabled.');
}
$io->comment('Quit the server with CONTROL-C.');
diff --git a/src/Symfony/Bundle/WebServerBundle/Command/ServerStartCommand.php b/src/Symfony/Bundle/WebServerBundle/Command/ServerStartCommand.php
index 673b7b3179a34..bd45408f63de6 100644
--- a/src/Symfony/Bundle/WebServerBundle/Command/ServerStartCommand.php
+++ b/src/Symfony/Bundle/WebServerBundle/Command/ServerStartCommand.php
@@ -154,7 +154,7 @@ protected function execute(InputInterface $input, OutputInterface $output)
$message = sprintf('Server listening on all interfaces, port %s -- see http://%s', $config->getPort(), $displayAddress);
}
$io->success($message);
- if (ini_get('xdebug.profiler_enable_trigger')) {
+ if (\ini_get('xdebug.profiler_enable_trigger')) {
$io->comment('Xdebug profiler trigger enabled.');
}
}
diff --git a/src/Symfony/Bundle/WebServerBundle/WebServer.php b/src/Symfony/Bundle/WebServerBundle/WebServer.php
index 9b9a36b7e888b..1cde95ad12f76 100644
--- a/src/Symfony/Bundle/WebServerBundle/WebServer.php
+++ b/src/Symfony/Bundle/WebServerBundle/WebServer.php
@@ -156,7 +156,7 @@ private function createServerProcess(WebServerConfig $config): Process
throw new \RuntimeException('Unable to find the PHP binary.');
}
- $xdebugArgs = ini_get('xdebug.profiler_enable_trigger') ? ['-dxdebug.profiler_enable_trigger=1'] : [];
+ $xdebugArgs = \ini_get('xdebug.profiler_enable_trigger') ? ['-dxdebug.profiler_enable_trigger=1'] : [];
$process = new Process(array_merge([$binary], $finder->findArguments(), $xdebugArgs, ['-dvariables_order=EGPCS', '-S', $config->getAddress(), $config->getRouter()]));
$process->setWorkingDirectory($config->getDocumentRoot());
diff --git a/src/Symfony/Component/BrowserKit/Client.php b/src/Symfony/Component/BrowserKit/Client.php
index 06b55cd380281..e299aa2d855f4 100644
--- a/src/Symfony/Component/BrowserKit/Client.php
+++ b/src/Symfony/Component/BrowserKit/Client.php
@@ -312,7 +312,7 @@ public function clickLink(string $linkText): Crawler
*
* @return Crawler
*/
- public function submit(Form $form, array $values = []/*, array $serverParameters = []*/)
+ public function submit(Form $form, array $values = []/* , array $serverParameters = [] */)
{
if (\func_num_args() < 3 && __CLASS__ !== static::class && __CLASS__ !== (new \ReflectionMethod($this, __FUNCTION__))->getDeclaringClass()->getName() && !$this instanceof \PHPUnit\Framework\MockObject\MockObject && !$this instanceof \Prophecy\Prophecy\ProphecySubjectInterface && !$this instanceof \Mockery\MockInterface) {
@trigger_error(sprintf('The "%s()" method will have a new "array $serverParameters = []" argument in version 5.0, not defining it is deprecated since Symfony 4.2.', static::class.'::'.__FUNCTION__), \E_USER_DEPRECATED);
@@ -676,7 +676,7 @@ protected function getAbsoluteUri($uri)
}
// protocol relative URL
- if (str_starts_with($uri, '//')) {
+ if ('' !== trim($uri, '/') && str_starts_with($uri, '//')) {
return parse_url($currentUri, \PHP_URL_SCHEME).':'.$uri;
}
diff --git a/src/Symfony/Component/BrowserKit/HttpBrowser.php b/src/Symfony/Component/BrowserKit/HttpBrowser.php
index e2d6477673e82..62542087b1c21 100644
--- a/src/Symfony/Component/BrowserKit/HttpBrowser.php
+++ b/src/Symfony/Component/BrowserKit/HttpBrowser.php
@@ -82,7 +82,7 @@ private function getBodyAndExtraHeaders(Request $request, array $headers): array
$fields = $request->getParameters();
if ($uploadedFiles = $this->getUploadedFiles($request->getFiles())) {
- $part = new FormDataPart(array_merge($fields, $uploadedFiles));
+ $part = new FormDataPart(array_replace_recursive($fields, $uploadedFiles));
return [$part->bodyToIterable(), $part->getPreparedHeaders()->toArray()];
}
diff --git a/src/Symfony/Component/BrowserKit/Tests/ClassThatInheritClient.php b/src/Symfony/Component/BrowserKit/Tests/ClassThatInheritClient.php
index 9b445472042fc..55721335b9e07 100644
--- a/src/Symfony/Component/BrowserKit/Tests/ClassThatInheritClient.php
+++ b/src/Symfony/Component/BrowserKit/Tests/ClassThatInheritClient.php
@@ -40,7 +40,7 @@ protected function doRequest($request): Response
/**
* @param array $serverParameters
*/
- public function submit(DomCrawlerForm $form, array $values = []/*, array $serverParameters = []*/): Crawler
+ public function submit(DomCrawlerForm $form, array $values = []/* , array $serverParameters = [] */): Crawler
{
return parent::submit($form, $values);
}
diff --git a/src/Symfony/Component/BrowserKit/Tests/HttpBrowserTest.php b/src/Symfony/Component/BrowserKit/Tests/HttpBrowserTest.php
index 8125d1a77c919..522af77d843f2 100644
--- a/src/Symfony/Component/BrowserKit/Tests/HttpBrowserTest.php
+++ b/src/Symfony/Component/BrowserKit/Tests/HttpBrowserTest.php
@@ -86,7 +86,11 @@ public function testMultiPartRequestWithSingleFile()
->with('POST', 'http://example.com/', $this->callback(function ($options) {
$this->assertStringContainsString('Content-Type: multipart/form-data', implode('', $options['headers']));
$this->assertInstanceOf(\Generator::class, $options['body']);
- $this->assertStringContainsString('my_file', implode('', iterator_to_array($options['body'])));
+ $values = implode('', iterator_to_array($options['body'], false));
+ $this->assertStringContainsString('name="foo[file]"', $values);
+ $this->assertStringContainsString('my_file', $values);
+ $this->assertStringContainsString('name="foo[bar]"', $values);
+ $this->assertStringContainsString('foo2', $values);
return true;
}))
@@ -95,7 +99,7 @@ public function testMultiPartRequestWithSingleFile()
$browser = new HttpBrowser($client);
$path = tempnam(sys_get_temp_dir(), 'http');
file_put_contents($path, 'my_file');
- $browser->request('POST', 'http://example.com/', [], ['file' => ['tmp_name' => $path, 'name' => 'foo']]);
+ $browser->request('POST', 'http://example.com/', ['foo' => ['bar' => 'foo2']], ['foo' => ['file' => ['tmp_name' => $path, 'name' => 'foo']]]);
}
public function testMultiPartRequestWithNormalFlatArray()
@@ -172,6 +176,30 @@ public function testMultiPartRequestWithAdditionalParametersOfTheSameName()
]);
}
+ /**
+ * @dataProvider forwardSlashesRequestPathProvider
+ */
+ public function testMultipleForwardSlashesRequestPath(string $requestPath)
+ {
+ $client = $this->createMock(HttpClientInterface::class);
+ $client
+ ->expects($this->once())
+ ->method('request')
+ ->with('GET', 'http://localhost'.$requestPath)
+ ->willReturn($this->createMock(ResponseInterface::class));
+ $browser = new HttpBrowser($client);
+ $browser->request('GET', $requestPath);
+ }
+
+ public function forwardSlashesRequestPathProvider()
+ {
+ return [
+ 'one slash' => ['/'],
+ 'two slashes' => ['//'],
+ 'multiple slashes' => ['////'],
+ ];
+ }
+
private function uploadFile(string $data): string
{
$path = tempnam(sys_get_temp_dir(), 'http');
diff --git a/src/Symfony/Component/Cache/Adapter/AbstractAdapter.php b/src/Symfony/Component/Cache/Adapter/AbstractAdapter.php
index 59fe570b3123d..656474425335b 100644
--- a/src/Symfony/Component/Cache/Adapter/AbstractAdapter.php
+++ b/src/Symfony/Component/Cache/Adapter/AbstractAdapter.php
@@ -117,7 +117,7 @@ public static function createSystemCache($namespace, $defaultLifetime, $version,
return $opcache;
}
- if (\in_array(\PHP_SAPI, ['cli', 'phpdbg'], true) && !filter_var(ini_get('apc.enable_cli'), \FILTER_VALIDATE_BOOLEAN)) {
+ if (\in_array(\PHP_SAPI, ['cli', 'phpdbg'], true) && !filter_var(\ini_get('apc.enable_cli'), \FILTER_VALIDATE_BOOLEAN)) {
return $opcache;
}
diff --git a/src/Symfony/Component/Cache/Adapter/AdapterInterface.php b/src/Symfony/Component/Cache/Adapter/AdapterInterface.php
index fbc74cae79014..9e359e17e0a87 100644
--- a/src/Symfony/Component/Cache/Adapter/AdapterInterface.php
+++ b/src/Symfony/Component/Cache/Adapter/AdapterInterface.php
@@ -45,5 +45,5 @@ public function getItems(array $keys = []);
*
* @return bool
*/
- public function clear(/*string $prefix = ''*/);
+ public function clear(/* string $prefix = '' */);
}
diff --git a/src/Symfony/Component/Cache/Adapter/ChainAdapter.php b/src/Symfony/Component/Cache/Adapter/ChainAdapter.php
index 257b0734095d5..57fb096bff377 100644
--- a/src/Symfony/Component/Cache/Adapter/ChainAdapter.php
+++ b/src/Symfony/Component/Cache/Adapter/ChainAdapter.php
@@ -51,7 +51,7 @@ public function __construct(array $adapters, int $defaultLifetime = 0)
if (!$adapter instanceof CacheItemPoolInterface) {
throw new InvalidArgumentException(sprintf('The class "%s" does not implement the "%s" interface.', \get_class($adapter), CacheItemPoolInterface::class));
}
- if (\in_array(\PHP_SAPI, ['cli', 'phpdbg'], true) && $adapter instanceof ApcuAdapter && !filter_var(ini_get('apc.enable_cli'), \FILTER_VALIDATE_BOOLEAN)) {
+ if (\in_array(\PHP_SAPI, ['cli', 'phpdbg'], true) && $adapter instanceof ApcuAdapter && !filter_var(\ini_get('apc.enable_cli'), \FILTER_VALIDATE_BOOLEAN)) {
continue; // skip putting APCu in the chain when the backend is disabled
}
@@ -210,7 +210,7 @@ public function hasItem($key)
*
* @return bool
*/
- public function clear(/*string $prefix = ''*/)
+ public function clear(/* string $prefix = '' */)
{
$prefix = 0 < \func_num_args() ? (string) func_get_arg(0) : '';
$cleared = true;
diff --git a/src/Symfony/Component/Cache/Adapter/NullAdapter.php b/src/Symfony/Component/Cache/Adapter/NullAdapter.php
index 81f772fd88c6a..3c2979bd2a5ad 100644
--- a/src/Symfony/Component/Cache/Adapter/NullAdapter.php
+++ b/src/Symfony/Component/Cache/Adapter/NullAdapter.php
@@ -82,7 +82,7 @@ public function hasItem($key)
*
* @return bool
*/
- public function clear(/*string $prefix = ''*/)
+ public function clear(/* string $prefix = '' */)
{
return true;
}
diff --git a/src/Symfony/Component/Cache/Adapter/ProxyAdapter.php b/src/Symfony/Component/Cache/Adapter/ProxyAdapter.php
index 3a1e658bc0ac4..e006ea0146751 100644
--- a/src/Symfony/Component/Cache/Adapter/ProxyAdapter.php
+++ b/src/Symfony/Component/Cache/Adapter/ProxyAdapter.php
@@ -155,7 +155,7 @@ public function hasItem($key)
*
* @return bool
*/
- public function clear(/*string $prefix = ''*/)
+ public function clear(/* string $prefix = '' */)
{
$prefix = 0 < \func_num_args() ? (string) func_get_arg(0) : '';
diff --git a/src/Symfony/Component/Cache/Adapter/TagAwareAdapter.php b/src/Symfony/Component/Cache/Adapter/TagAwareAdapter.php
index e72c38599567e..105d4a64f9ba5 100644
--- a/src/Symfony/Component/Cache/Adapter/TagAwareAdapter.php
+++ b/src/Symfony/Component/Cache/Adapter/TagAwareAdapter.php
@@ -237,7 +237,7 @@ public function getItems(array $keys = [])
*
* @return bool
*/
- public function clear(/*string $prefix = ''*/)
+ public function clear(/* string $prefix = '' */)
{
$prefix = 0 < \func_num_args() ? (string) func_get_arg(0) : '';
diff --git a/src/Symfony/Component/Cache/Adapter/TraceableAdapter.php b/src/Symfony/Component/Cache/Adapter/TraceableAdapter.php
index c296c8847c5cf..9e65b2ef986b3 100644
--- a/src/Symfony/Component/Cache/Adapter/TraceableAdapter.php
+++ b/src/Symfony/Component/Cache/Adapter/TraceableAdapter.php
@@ -180,7 +180,7 @@ public function getItems(array $keys = [])
*
* @return bool
*/
- public function clear(/*string $prefix = ''*/)
+ public function clear(/* string $prefix = '' */)
{
$prefix = 0 < \func_num_args() ? (string) func_get_arg(0) : '';
$event = $this->start(__FUNCTION__);
diff --git a/src/Symfony/Component/Cache/CacheItem.php b/src/Symfony/Component/Cache/CacheItem.php
index 1bb1d22427ac6..4dd6fd7c54a27 100644
--- a/src/Symfony/Component/Cache/CacheItem.php
+++ b/src/Symfony/Component/Cache/CacheItem.php
@@ -194,7 +194,7 @@ public static function log(?LoggerInterface $logger, string $message, array $con
} else {
$replace = [];
foreach ($context as $k => $v) {
- if (is_scalar($v)) {
+ if (\is_scalar($v)) {
$replace['{'.$k.'}'] = $v;
}
}
diff --git a/src/Symfony/Component/Cache/DataCollector/CacheDataCollector.php b/src/Symfony/Component/Cache/DataCollector/CacheDataCollector.php
index ed86fcadfc8b7..9bcd5b0618ba2 100644
--- a/src/Symfony/Component/Cache/DataCollector/CacheDataCollector.php
+++ b/src/Symfony/Component/Cache/DataCollector/CacheDataCollector.php
@@ -44,7 +44,7 @@ public function addInstance($name, TraceableAdapter $instance)
*
* @param \Throwable|null $exception
*/
- public function collect(Request $request, Response $response/*, \Throwable $exception = null*/)
+ public function collect(Request $request, Response $response/* , \Throwable $exception = null */)
{
$empty = ['calls' => [], 'config' => [], 'options' => [], 'statistics' => []];
$this->data = ['instances' => $empty, 'total' => $empty];
diff --git a/src/Symfony/Component/Cache/Tests/Adapter/AdapterTestCase.php b/src/Symfony/Component/Cache/Tests/Adapter/AdapterTestCase.php
index da55270348224..01f17fdb8a729 100644
--- a/src/Symfony/Component/Cache/Tests/Adapter/AdapterTestCase.php
+++ b/src/Symfony/Component/Cache/Tests/Adapter/AdapterTestCase.php
@@ -106,18 +106,19 @@ public function testDontSaveWhenAskedNotTo()
$cache = $this->createCachePool(0, __FUNCTION__);
- $v1 = $cache->get('some-key', function($item, &$save){
- $save = false;
- return 1;
+ $v1 = $cache->get('some-key', function ($item, &$save) {
+ $save = false;
+
+ return 1;
});
$this->assertSame($v1, 1);
- $v2 = $cache->get('some-key', function(){
+ $v2 = $cache->get('some-key', function () {
return 2;
});
$this->assertSame($v2, 2, 'First value was cached and should not have been');
- $v3 = $cache->get('some-key', function(){
+ $v3 = $cache->get('some-key', function () {
$this->fail('Value should have come from cache');
});
$this->assertSame($v3, 2);
diff --git a/src/Symfony/Component/Cache/Tests/Adapter/ApcuAdapterTest.php b/src/Symfony/Component/Cache/Tests/Adapter/ApcuAdapterTest.php
index 120a4e5a17a4b..8f7219ba68407 100644
--- a/src/Symfony/Component/Cache/Tests/Adapter/ApcuAdapterTest.php
+++ b/src/Symfony/Component/Cache/Tests/Adapter/ApcuAdapterTest.php
@@ -25,10 +25,10 @@ class ApcuAdapterTest extends AdapterTestCase
public function createCachePool(int $defaultLifetime = 0): CacheItemPoolInterface
{
- if (!\function_exists('apcu_fetch') || !filter_var(ini_get('apc.enabled'), \FILTER_VALIDATE_BOOLEAN)) {
+ if (!\function_exists('apcu_fetch') || !filter_var(\ini_get('apc.enabled'), \FILTER_VALIDATE_BOOLEAN)) {
$this->markTestSkipped('APCu extension is required.');
}
- if ('cli' === \PHP_SAPI && !filter_var(ini_get('apc.enable_cli'), \FILTER_VALIDATE_BOOLEAN)) {
+ if ('cli' === \PHP_SAPI && !filter_var(\ini_get('apc.enable_cli'), \FILTER_VALIDATE_BOOLEAN)) {
if ('testWithCliSapi' !== $this->getName()) {
$this->markTestSkipped('apc.enable_cli=1 is required.');
}
diff --git a/src/Symfony/Component/Cache/Tests/Adapter/MemcachedAdapterTest.php b/src/Symfony/Component/Cache/Tests/Adapter/MemcachedAdapterTest.php
index ef024c97bbd43..210ef1689d819 100644
--- a/src/Symfony/Component/Cache/Tests/Adapter/MemcachedAdapterTest.php
+++ b/src/Symfony/Component/Cache/Tests/Adapter/MemcachedAdapterTest.php
@@ -148,7 +148,7 @@ public function provideServersSetting(): iterable
'localhost',
11222,
];
- if (filter_var(ini_get('memcached.use_sasl'), \FILTER_VALIDATE_BOOLEAN)) {
+ if (filter_var(\ini_get('memcached.use_sasl'), \FILTER_VALIDATE_BOOLEAN)) {
yield [
'memcached://user:password@127.0.0.1?weight=50',
'127.0.0.1',
@@ -165,7 +165,7 @@ public function provideServersSetting(): iterable
'/var/local/run/memcached.socket',
0,
];
- if (filter_var(ini_get('memcached.use_sasl'), \FILTER_VALIDATE_BOOLEAN)) {
+ if (filter_var(\ini_get('memcached.use_sasl'), \FILTER_VALIDATE_BOOLEAN)) {
yield [
'memcached://user:password@/var/local/run/memcached.socket?weight=25',
'/var/local/run/memcached.socket',
diff --git a/src/Symfony/Component/Cache/Tests/Adapter/TagAwareAdapterTest.php b/src/Symfony/Component/Cache/Tests/Adapter/TagAwareAdapterTest.php
index dfb2a10e6821e..a28d320e11103 100644
--- a/src/Symfony/Component/Cache/Tests/Adapter/TagAwareAdapterTest.php
+++ b/src/Symfony/Component/Cache/Tests/Adapter/TagAwareAdapterTest.php
@@ -123,7 +123,7 @@ public function testHasItemReturnsFalseWhenPoolDoesNotHaveItemTags()
$anotherPool = $this->createCachePool();
$adapter = new FilesystemAdapter();
- $adapter->deleteItem(TagAwareAdapter::TAGS_PREFIX.$itemKey); //simulate item losing tags pair
+ $adapter->deleteItem(TagAwareAdapter::TAGS_PREFIX.$itemKey); // simulate item losing tags pair
$this->assertFalse($anotherPool->hasItem($itemKey));
}
@@ -139,7 +139,7 @@ public function testGetItemReturnsCacheMissWhenPoolDoesNotHaveItemTags()
$anotherPool = $this->createCachePool();
$adapter = new FilesystemAdapter();
- $adapter->deleteItem(TagAwareAdapter::TAGS_PREFIX.$itemKey); //simulate item losing tags pair
+ $adapter->deleteItem(TagAwareAdapter::TAGS_PREFIX.$itemKey); // simulate item losing tags pair
$item = $anotherPool->getItem($itemKey);
$this->assertFalse($item->isHit());
@@ -156,7 +156,7 @@ public function testHasItemReturnsFalseWhenPoolDoesNotHaveItemAndOnlyHasTags()
$anotherPool = $this->createCachePool();
$adapter = new FilesystemAdapter();
- $adapter->deleteItem($itemKey); //simulate losing item but keeping tags
+ $adapter->deleteItem($itemKey); // simulate losing item but keeping tags
$this->assertFalse($anotherPool->hasItem($itemKey));
}
@@ -191,7 +191,7 @@ public function testGetItemReturnsCacheMissWhenPoolDoesNotHaveItemAndOnlyHasTags
$anotherPool = $this->createCachePool();
$adapter = new FilesystemAdapter();
- $adapter->deleteItem($itemKey); //simulate losing item but keeping tags
+ $adapter->deleteItem($itemKey); // simulate losing item but keeping tags
$item = $anotherPool->getItem($itemKey);
$this->assertFalse($item->isHit());
diff --git a/src/Symfony/Component/Cache/Tests/Simple/ApcuCacheTest.php b/src/Symfony/Component/Cache/Tests/Simple/ApcuCacheTest.php
index 01ef63d808b9b..f15de082c9dfa 100644
--- a/src/Symfony/Component/Cache/Tests/Simple/ApcuCacheTest.php
+++ b/src/Symfony/Component/Cache/Tests/Simple/ApcuCacheTest.php
@@ -27,7 +27,7 @@ class ApcuCacheTest extends CacheTestCase
public function createSimpleCache(int $defaultLifetime = 0): CacheInterface
{
- if (!\function_exists('apcu_fetch') || !filter_var(ini_get('apc.enabled'), \FILTER_VALIDATE_BOOLEAN) || ('cli' === \PHP_SAPI && !filter_var(ini_get('apc.enable_cli'), \FILTER_VALIDATE_BOOLEAN))) {
+ if (!\function_exists('apcu_fetch') || !filter_var(\ini_get('apc.enabled'), \FILTER_VALIDATE_BOOLEAN) || ('cli' === \PHP_SAPI && !filter_var(\ini_get('apc.enable_cli'), \FILTER_VALIDATE_BOOLEAN))) {
$this->markTestSkipped('APCu extension is required.');
}
if ('\\' === \DIRECTORY_SEPARATOR) {
diff --git a/src/Symfony/Component/Cache/Tests/Simple/MemcachedCacheTest.php b/src/Symfony/Component/Cache/Tests/Simple/MemcachedCacheTest.php
index 9da19ff11a1d8..ee07594854c6c 100644
--- a/src/Symfony/Component/Cache/Tests/Simple/MemcachedCacheTest.php
+++ b/src/Symfony/Component/Cache/Tests/Simple/MemcachedCacheTest.php
@@ -157,7 +157,7 @@ public function provideServersSetting(): iterable
'localhost',
11222,
];
- if (filter_var(ini_get('memcached.use_sasl'), \FILTER_VALIDATE_BOOLEAN)) {
+ if (filter_var(\ini_get('memcached.use_sasl'), \FILTER_VALIDATE_BOOLEAN)) {
yield [
'memcached://user:password@127.0.0.1?weight=50',
'127.0.0.1',
@@ -174,7 +174,7 @@ public function provideServersSetting(): iterable
'/var/local/run/memcached.socket',
0,
];
- if (filter_var(ini_get('memcached.use_sasl'), \FILTER_VALIDATE_BOOLEAN)) {
+ if (filter_var(\ini_get('memcached.use_sasl'), \FILTER_VALIDATE_BOOLEAN)) {
yield [
'memcached://user:password@/var/local/run/memcached.socket?weight=25',
'/var/local/run/memcached.socket',
diff --git a/src/Symfony/Component/Cache/Tests/Simple/PhpArrayCacheWithFallbackTest.php b/src/Symfony/Component/Cache/Tests/Simple/PhpArrayCacheWithFallbackTest.php
index 84f73012cad24..b18bd31cbb985 100644
--- a/src/Symfony/Component/Cache/Tests/Simple/PhpArrayCacheWithFallbackTest.php
+++ b/src/Symfony/Component/Cache/Tests/Simple/PhpArrayCacheWithFallbackTest.php
@@ -27,7 +27,7 @@ class PhpArrayCacheWithFallbackTest extends CacheTestCase
'testGetMultipleInvalidKeys' => 'PhpArrayCache does no validation',
'testDeleteInvalidKeys' => 'PhpArrayCache does no validation',
'testDeleteMultipleInvalidKeys' => 'PhpArrayCache does no validation',
- //'testSetValidData' => 'PhpArrayCache does no validation',
+ // 'testSetValidData' => 'PhpArrayCache does no validation',
'testSetInvalidKeys' => 'PhpArrayCache does no validation',
'testSetInvalidTtl' => 'PhpArrayCache does no validation',
'testSetMultipleInvalidKeys' => 'PhpArrayCache does no validation',
diff --git a/src/Symfony/Component/Cache/Traits/AbstractTrait.php b/src/Symfony/Component/Cache/Traits/AbstractTrait.php
index a2914fa3578b6..f4902917d38b0 100644
--- a/src/Symfony/Component/Cache/Traits/AbstractTrait.php
+++ b/src/Symfony/Component/Cache/Traits/AbstractTrait.php
@@ -109,7 +109,7 @@ public function hasItem($key)
*
* @return bool
*/
- public function clear(/*string $prefix = ''*/)
+ public function clear(/* string $prefix = '' */)
{
$this->deferred = [];
if ($cleared = $this->versioningIsEnabled) {
diff --git a/src/Symfony/Component/Cache/Traits/ApcuTrait.php b/src/Symfony/Component/Cache/Traits/ApcuTrait.php
index ace28c7d37bd8..46bd20fe2f814 100644
--- a/src/Symfony/Component/Cache/Traits/ApcuTrait.php
+++ b/src/Symfony/Component/Cache/Traits/ApcuTrait.php
@@ -23,7 +23,7 @@ trait ApcuTrait
{
public static function isSupported()
{
- return \function_exists('apcu_fetch') && filter_var(ini_get('apc.enabled'), \FILTER_VALIDATE_BOOLEAN);
+ return \function_exists('apcu_fetch') && filter_var(\ini_get('apc.enabled'), \FILTER_VALIDATE_BOOLEAN);
}
private function init(string $namespace, int $defaultLifetime, ?string $version)
@@ -88,8 +88,8 @@ protected function doHave($id)
*/
protected function doClear($namespace)
{
- return isset($namespace[0]) && class_exists(\APCuIterator::class, false) && ('cli' !== \PHP_SAPI || filter_var(ini_get('apc.enable_cli'), \FILTER_VALIDATE_BOOLEAN))
- ? apcu_delete(new \APCuIterator(sprintf('/^%s/', preg_quote($namespace, '/')), \APC_ITER_KEY))
+ return isset($namespace[0]) && class_exists(\APCUIterator::class, false) && ('cli' !== \PHP_SAPI || filter_var(\ini_get('apc.enable_cli'), \FILTER_VALIDATE_BOOLEAN))
+ ? apcu_delete(new \APCUIterator(sprintf('/^%s/', preg_quote($namespace, '/')), \APC_ITER_KEY))
: apcu_clear_cache();
}
diff --git a/src/Symfony/Component/Cache/Traits/ArrayTrait.php b/src/Symfony/Component/Cache/Traits/ArrayTrait.php
index 2682eb146cd44..e41daebc6af0c 100644
--- a/src/Symfony/Component/Cache/Traits/ArrayTrait.php
+++ b/src/Symfony/Component/Cache/Traits/ArrayTrait.php
@@ -73,7 +73,7 @@ public function hasItem($key)
*
* @return bool
*/
- public function clear(/*string $prefix = ''*/)
+ public function clear(/* string $prefix = '' */)
{
$prefix = 0 < \func_num_args() ? (string) func_get_arg(0) : '';
@@ -141,7 +141,7 @@ private function freeze($value, $key)
if ('N;' === $value || (isset($value[2]) && ':' === $value[1])) {
return serialize($value);
}
- } elseif (!is_scalar($value)) {
+ } elseif (!\is_scalar($value)) {
try {
$serialized = serialize($value);
} catch (\Exception $e) {
diff --git a/src/Symfony/Component/Cache/Traits/ContractsTrait.php b/src/Symfony/Component/Cache/Traits/ContractsTrait.php
index 823af9e679e19..49a96eed359f5 100644
--- a/src/Symfony/Component/Cache/Traits/ContractsTrait.php
+++ b/src/Symfony/Component/Cache/Traits/ContractsTrait.php
@@ -42,7 +42,7 @@ trait ContractsTrait
public function setCallbackWrapper(?callable $callbackWrapper): callable
{
if (!isset($this->callbackWrapper)) {
- $this->callbackWrapper = \Closure::fromCallable([LockRegistry::class, 'compute']);;
+ $this->callbackWrapper = \Closure::fromCallable([LockRegistry::class, 'compute']);
if (\in_array(\PHP_SAPI, ['cli', 'phpdbg'], true)) {
$this->setCallbackWrapper(null);
diff --git a/src/Symfony/Component/Cache/Traits/PhpArrayTrait.php b/src/Symfony/Component/Cache/Traits/PhpArrayTrait.php
index b68c5a3d2463b..230c7bd4275c4 100644
--- a/src/Symfony/Component/Cache/Traits/PhpArrayTrait.php
+++ b/src/Symfony/Component/Cache/Traits/PhpArrayTrait.php
@@ -89,7 +89,7 @@ public function warmUp(array $values)
$isStaticValue = false;
}
$value = var_export($value, true);
- } elseif (!is_scalar($value)) {
+ } elseif (!\is_scalar($value)) {
throw new InvalidArgumentException(sprintf('Cache key "%s" has non-serializable "%s" value.', $key, \gettype($value)));
} else {
$value = var_export($value, true);
@@ -130,7 +130,7 @@ public function warmUp(array $values)
*
* @return bool
*/
- public function clear(/*string $prefix = ''*/)
+ public function clear(/* string $prefix = '' */)
{
$prefix = 0 < \func_num_args() ? (string) func_get_arg(0) : '';
$this->keys = $this->values = [];
diff --git a/src/Symfony/Component/Cache/Traits/PhpFilesTrait.php b/src/Symfony/Component/Cache/Traits/PhpFilesTrait.php
index 6df6888bad716..c76e7fe312bc9 100644
--- a/src/Symfony/Component/Cache/Traits/PhpFilesTrait.php
+++ b/src/Symfony/Component/Cache/Traits/PhpFilesTrait.php
@@ -41,7 +41,7 @@ public static function isSupported()
{
self::$startTime = self::$startTime ?? $_SERVER['REQUEST_TIME'] ?? time();
- return \function_exists('opcache_invalidate') && filter_var(ini_get('opcache.enable'), \FILTER_VALIDATE_BOOLEAN) && (!\in_array(\PHP_SAPI, ['cli', 'phpdbg'], true) || filter_var(ini_get('opcache.enable_cli'), \FILTER_VALIDATE_BOOLEAN));
+ return \function_exists('opcache_invalidate') && filter_var(\ini_get('opcache.enable'), \FILTER_VALIDATE_BOOLEAN) && (!\in_array(\PHP_SAPI, ['cli', 'phpdbg'], true) || filter_var(\ini_get('opcache.enable_cli'), \FILTER_VALIDATE_BOOLEAN));
}
/**
@@ -217,7 +217,7 @@ protected function doSave(array $values, int $lifetime)
$isStaticValue = false;
}
$value = var_export($value, true);
- } elseif (!is_scalar($value)) {
+ } elseif (!\is_scalar($value)) {
throw new InvalidArgumentException(sprintf('Cache key "%s" has non-serializable "%s" value.', $key, \gettype($value)));
} else {
$value = var_export($value, true);
diff --git a/src/Symfony/Component/Config/Definition/ScalarNode.php b/src/Symfony/Component/Config/Definition/ScalarNode.php
index 5ad28ec4c53ab..7a5adf1b7819d 100644
--- a/src/Symfony/Component/Config/Definition/ScalarNode.php
+++ b/src/Symfony/Component/Config/Definition/ScalarNode.php
@@ -32,7 +32,7 @@ class ScalarNode extends VariableNode
*/
protected function validateType($value)
{
- if (!is_scalar($value) && null !== $value) {
+ if (!\is_scalar($value) && null !== $value) {
$ex = new InvalidTypeException(sprintf('Invalid type for path "%s". Expected scalar, but got %s.', $this->getPath(), \gettype($value)));
if ($hint = $this->getInfo()) {
$ex->addHint($hint);
diff --git a/src/Symfony/Component/Config/Loader/FileLoader.php b/src/Symfony/Component/Config/Loader/FileLoader.php
index 8aef0ffba40ed..f4cdb8aa838de 100644
--- a/src/Symfony/Component/Config/Loader/FileLoader.php
+++ b/src/Symfony/Component/Config/Loader/FileLoader.php
@@ -71,7 +71,7 @@ public function getLocator()
* @throws FileLoaderImportCircularReferenceException
* @throws FileLocatorFileNotFoundException
*/
- public function import($resource, $type = null, $ignoreErrors = false, $sourceResource = null/*, $exclude = null*/)
+ public function import($resource, $type = null, $ignoreErrors = false, $sourceResource = null/* , $exclude = null */)
{
if (\func_num_args() < 5 && __CLASS__ !== static::class && !str_starts_with(static::class, 'Symfony\Component\\') && __CLASS__ !== (new \ReflectionMethod($this, __FUNCTION__))->getDeclaringClass()->getName() && !$this instanceof \PHPUnit\Framework\MockObject\MockObject && !$this instanceof \Prophecy\Prophecy\ProphecySubjectInterface && !$this instanceof \Mockery\MockInterface) {
@trigger_error(sprintf('The "%s()" method will have a new "$exclude = null" argument in version 5.0, not defining it is deprecated since Symfony 4.4.', __METHOD__), \E_USER_DEPRECATED);
diff --git a/src/Symfony/Component/Config/ResourceCheckerConfigCache.php b/src/Symfony/Component/Config/ResourceCheckerConfigCache.php
index d41b3c43c743e..5131173138fe4 100644
--- a/src/Symfony/Component/Config/ResourceCheckerConfigCache.php
+++ b/src/Symfony/Component/Config/ResourceCheckerConfigCache.php
@@ -137,7 +137,7 @@ public function write($content, array $metadata = null)
}
}
- if (\function_exists('opcache_invalidate') && filter_var(ini_get('opcache.enable'), \FILTER_VALIDATE_BOOLEAN)) {
+ if (\function_exists('opcache_invalidate') && filter_var(\ini_get('opcache.enable'), \FILTER_VALIDATE_BOOLEAN)) {
@opcache_invalidate($this->file, true);
}
}
diff --git a/src/Symfony/Component/Config/Tests/Loader/FileLoaderTest.php b/src/Symfony/Component/Config/Tests/Loader/FileLoaderTest.php
index 9c74f6d60a379..2185b37b7640c 100644
--- a/src/Symfony/Component/Config/Tests/Loader/FileLoaderTest.php
+++ b/src/Symfony/Component/Config/Tests/Loader/FileLoaderTest.php
@@ -26,12 +26,12 @@ public function testImportWithFileLocatorDelegation()
$locatorMockForAdditionalLoader = $this->createMock(FileLocatorInterface::class);
$locatorMockForAdditionalLoader->expects($this->any())->method('locate')->will($this->onConsecutiveCalls(
- ['path/to/file1'], // Default
- ['path/to/file1', 'path/to/file2'], // First is imported
- ['path/to/file1', 'path/to/file2'], // Second is imported
- ['path/to/file1'], // Exception
- ['path/to/file1', 'path/to/file2'] // Exception
- ));
+ ['path/to/file1'], // Default
+ ['path/to/file1', 'path/to/file2'], // First is imported
+ ['path/to/file1', 'path/to/file2'], // Second is imported
+ ['path/to/file1'], // Exception
+ ['path/to/file1', 'path/to/file2'] // Exception
+ ));
$fileLoader = new TestFileLoader($locatorMock);
$fileLoader->setSupports(false);
diff --git a/src/Symfony/Component/Console/Command/Command.php b/src/Symfony/Component/Console/Command/Command.php
index da9b9f6af1730..b0c1bf864b118 100644
--- a/src/Symfony/Component/Console/Command/Command.php
+++ b/src/Symfony/Component/Console/Command/Command.php
@@ -195,7 +195,7 @@ protected function initialize(InputInterface $input, OutputInterface $output)
*
* @return int The command exit code
*
- * @throws \Exception When binding input fails. Bypass this by calling {@link ignoreValidationErrors()}.
+ * @throws ExceptionInterface When input binding fails. Bypass this by calling {@link ignoreValidationErrors()}.
*
* @see setCode()
* @see execute()
diff --git a/src/Symfony/Component/Console/DependencyInjection/AddConsoleCommandPass.php b/src/Symfony/Component/Console/DependencyInjection/AddConsoleCommandPass.php
index aff892cc25b7e..d9449dc56a247 100644
--- a/src/Symfony/Component/Console/DependencyInjection/AddConsoleCommandPass.php
+++ b/src/Symfony/Component/Console/DependencyInjection/AddConsoleCommandPass.php
@@ -55,7 +55,7 @@ public function process(ContainerBuilder $container)
if (!$r->isSubclassOf(Command::class)) {
throw new InvalidArgumentException(sprintf('The service "%s" tagged "%s" must be a subclass of "%s".', $id, $this->commandTag, Command::class));
}
- $commandName = $class::getDefaultName() !== null ? str_replace('%', '%%', $class::getDefaultName()) : null;
+ $commandName = null !== $class::getDefaultName() ? str_replace('%', '%%', $class::getDefaultName()) : null;
}
if (null === $commandName) {
diff --git a/src/Symfony/Component/Console/Helper/Table.php b/src/Symfony/Component/Console/Helper/Table.php
index 99496b1c72dea..f068f02faeffc 100644
--- a/src/Symfony/Component/Console/Helper/Table.php
+++ b/src/Symfony/Component/Console/Helper/Table.php
@@ -641,7 +641,7 @@ private function fillNextRows(array $rows, int $line): array
{
$unmergedRows = [];
foreach ($rows[$line] as $column => $cell) {
- if (null !== $cell && !$cell instanceof TableCell && !is_scalar($cell) && !(\is_object($cell) && method_exists($cell, '__toString'))) {
+ if (null !== $cell && !$cell instanceof TableCell && !\is_scalar($cell) && !(\is_object($cell) && method_exists($cell, '__toString'))) {
throw new InvalidArgumentException(sprintf('A cell must be a TableCell, a scalar or an object implementing "__toString()", "%s" given.', \gettype($cell)));
}
if ($cell instanceof TableCell && $cell->getRowspan() > 1) {
diff --git a/src/Symfony/Component/Console/Logger/ConsoleLogger.php b/src/Symfony/Component/Console/Logger/ConsoleLogger.php
index c9ee03561b355..4a10fa1720d51 100644
--- a/src/Symfony/Component/Console/Logger/ConsoleLogger.php
+++ b/src/Symfony/Component/Console/Logger/ConsoleLogger.php
@@ -110,7 +110,7 @@ private function interpolate(string $message, array $context): string
$replacements = [];
foreach ($context as $key => $val) {
- if (null === $val || is_scalar($val) || (\is_object($val) && method_exists($val, '__toString'))) {
+ if (null === $val || \is_scalar($val) || (\is_object($val) && method_exists($val, '__toString'))) {
$replacements["{{$key}}"] = $val;
} elseif ($val instanceof \DateTimeInterface) {
$replacements["{{$key}}"] = $val->format(\DateTime::RFC3339);
diff --git a/src/Symfony/Component/Console/Style/SymfonyStyle.php b/src/Symfony/Component/Console/Style/SymfonyStyle.php
index 66db3ad5ad6c0..1c99a1865d93e 100644
--- a/src/Symfony/Component/Console/Style/SymfonyStyle.php
+++ b/src/Symfony/Component/Console/Style/SymfonyStyle.php
@@ -430,18 +430,18 @@ private function autoPrependBlock(): void
$chars = substr(str_replace(\PHP_EOL, "\n", $this->bufferedOutput->fetch()), -2);
if (!isset($chars[0])) {
- $this->newLine(); //empty history, so we should start with a new line.
+ $this->newLine(); // empty history, so we should start with a new line.
return;
}
- //Prepend new line for each non LF chars (This means no blank line was output before)
+ // Prepend new line for each non LF chars (This means no blank line was output before)
$this->newLine(2 - substr_count($chars, "\n"));
}
private function autoPrependText(): void
{
$fetched = $this->bufferedOutput->fetch();
- //Prepend new line if last char isn't EOL:
+ // Prepend new line if last char isn't EOL:
if (!str_ends_with($fetched, "\n")) {
$this->newLine();
}
diff --git a/src/Symfony/Component/Console/Tests/Formatter/OutputFormatterTest.php b/src/Symfony/Component/Console/Tests/Formatter/OutputFormatterTest.php
index f418f446fc703..b041a0db5abce 100644
--- a/src/Symfony/Component/Console/Tests/Formatter/OutputFormatterTest.php
+++ b/src/Symfony/Component/Console/Tests/Formatter/OutputFormatterTest.php
@@ -279,7 +279,7 @@ public function testContentWithLineBreaks()
some text
EOF
- ));
+ ));
$this->assertEquals(<<some text
EOF
- ));
+ ));
$this->assertEquals(<<
EOF
- ));
+ ));
$this->assertEquals(<<
EOF
- ));
+ ));
}
public function testFormatAndWrap()
diff --git a/src/Symfony/Component/Console/Tests/Helper/SymfonyQuestionHelperTest.php b/src/Symfony/Component/Console/Tests/Helper/SymfonyQuestionHelperTest.php
index b8623e1995a65..296c9fd005ac3 100644
--- a/src/Symfony/Component/Console/Tests/Helper/SymfonyQuestionHelperTest.php
+++ b/src/Symfony/Component/Console/Tests/Helper/SymfonyQuestionHelperTest.php
@@ -162,7 +162,7 @@ public function testChoiceQuestionPadding()
[łabądź] baz
>
EOT
- , $output, true);
+ , $output, true);
}
public function testChoiceQuestionCustomPrompt()
@@ -181,7 +181,7 @@ public function testChoiceQuestionCustomPrompt()
[0] foo
>ccc>
EOT
- , $output, true);
+ , $output, true);
}
protected function getInputStream($input)
diff --git a/src/Symfony/Component/Console/Tests/Tester/CommandTesterTest.php b/src/Symfony/Component/Console/Tests/Tester/CommandTesterTest.php
index 244a3f1d01814..ac8bb76918ec1 100644
--- a/src/Symfony/Component/Console/Tests/Tester/CommandTesterTest.php
+++ b/src/Symfony/Component/Console/Tests/Tester/CommandTesterTest.php
@@ -217,8 +217,7 @@ public function testErrorOutput()
$command->addArgument('foo');
$command->setCode(function ($input, $output) {
$output->getErrorOutput()->write('foo');
- }
- );
+ });
$tester = new CommandTester($command);
$tester->execute(
diff --git a/src/Symfony/Component/CssSelector/Tests/XPath/TranslatorTest.php b/src/Symfony/Component/CssSelector/Tests/XPath/TranslatorTest.php
index f04d8cdd3e5db..0a1ba4dcdcc2c 100644
--- a/src/Symfony/Component/CssSelector/Tests/XPath/TranslatorTest.php
+++ b/src/Symfony/Component/CssSelector/Tests/XPath/TranslatorTest.php
@@ -156,7 +156,7 @@ public function testOnlyOfTypeFindsSingleChildrenOfGivenType()