Merge branch '3.2'

* 3.2:
  [Console] Review Application docblocks
  [Cache] Improve performances into foreach (PhpFilesAdapter)
  bumped Symfony version to 3.2.2
  updated VERSION for 3.2.1
  updated CHANGELOG for 3.2.1
  bumped Symfony version to 3.1.9
  updated VERSION for 3.1.8
  updated CHANGELOG for 3.1.8
  Add support for REDIS_URL environment variables.
  bumped Symfony version to 2.8.16
  updated VERSION for 2.8.15
  updated CHANGELOG for 2.8.15
  bumped Symfony version to 2.7.23
  updated VERSION for 2.7.22
  update CONTRIBUTORS for 2.7.22
  updated CHANGELOG for 2.7.22
  Update PHP CS Fixer config file
This commit is contained in:
Fabien Potencier 2016-12-13 16:32:21 +01:00
commit a3577eb5b0
11 changed files with 196 additions and 36 deletions

View File

@ -1,15 +1,14 @@
<?php <?php
return Symfony\CS\Config\Config::create() return PhpCsFixer\Config::create()
->setUsingLinter(false) ->setRules(array(
->setUsingCache(true) '@Symfony' => true,
->fixers(array( '@Symfony:risky' => true,
'long_array_syntax', 'array_syntax' => array('syntax' => 'long'),
'php_unit_construct',
'php_unit_dedicate_assert',
)) ))
->finder( ->setRiskyAllowed(true)
Symfony\CS\Finder\DefaultFinder::create() ->setFinder(
PhpCsFixer\Finder::create()
->in(__DIR__) ->in(__DIR__)
->exclude(array( ->exclude(array(
// directories containing files with content that is autogenerated by `var_export`, which breaks CS in output code // directories containing files with content that is autogenerated by `var_export`, which breaks CS in output code

View File

@ -7,6 +7,44 @@ in 3.1 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 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/v3.1.0...v3.1.1 To get the diff between two versions, go to https://github.com/symfony/symfony/compare/v3.1.0...v3.1.1
* 3.1.8 (2016-12-13)
* bug #20714 [FrameworkBundle] Fix unresolved parameters from default configs in debug:config (chalasr)
* bug #20442 [FrameworkBundle] Bundle commands are not available via find() (julienfalque)
* bug #20840 [WebProfilerBundle] add dependency on Twig (xabbuh)
* bug #20828 [Validator] Fix init of YamlFileLoader::$classes for empty files (nicolas-grekas)
* bug #20745 [Validator] add class name to the cache key (Simperfit)
* bug #20530 [Serializer] Remove AbstractObjectNormalizer::isAttributeToNormalize (dunglas)
* bug #19141 Throw less misleading exception when property access not found (bramtweedegolf)
* bug #20539 Cast result to int before adding to it (alcaeus)
* bug #20831 [Twig] Fix deprecations with Twig 1.29 (nicolas-grekas)
* bug #20816 [FrameworkBundle] Removed kernel.debug from the cache pool namespace seed (Sander Toonen)
* bug #20646 Maintain the selected panel when redirecting to another profile (javiereguiluz)
* bug #20767 [Cache] Fix dumping SplDoublyLinkedList iter mode (nicolas-grekas)
* bug #20736 [Console] fixed PHP7 Errors when not using Dispatcher (keradus)
* bug #20756 [HttpKernel] Regression test for missing controller arguments (iltar)
* bug #20755 [HttpKernel] Regression test for missing controller arguments (iltar)
* bug #20732 fix the inline level for dumped multi-line strings (xabbuh)
* bug #20418 [Form][DX] FileType "multiple" fixes (yceruto)
* bug #19902 [DependencyInjection] PhpDumper.php: hasReference() shouldn't search references in lazy service. (antanas-arvasevicius)
* bug #20704 [Console] Fix wrong handling of multiline arg/opt descriptions (ogizanagi)
* bug #20712 [TwigBundle] Fix twig loader registered twice (ogizanagi)
* bug #20716 [WebProfilerBundle] Fix dump block is unfairly restrained (ogizanagi)
* bug #20671 [Config] ConfigCache::isFresh() should return false when unserialize() fails (nicolas-grekas)
* bug #20676 [ClassLoader] Use only forward slashes in generated class map (nicolas-grekas)
* bug #20664 [Validator] ensure the proper context for nested validations (xabbuh)
* bug #20661 bug #20653 [WebProfilerBundle] Profiler includes ghost panels (jzawadzki)
* bug #20374 [FrameworkBundle] Improve performance of ControllerNameParser (enumag)
* bug #20474 [Routing] Fail properly when a route parameter name cannot be used as a PCRE subpattern name (fancyweb)
* bug #20566 [DI] Initialize properties before method calls (ro0NL)
* bug #20609 [DI] Fixed custom services definition BC break introduced in ec7e70fb… (kiler129)
* bug #20598 [DI] Aliases should preserve the aliased invalid behavior (nicolas-grekas)
* bug #20600 [Process] Fix process continuing after reached timeout using getIterator() (chalasr)
* bug #20602 [HttpKernel] Revert BC breaking change of Request::isMethodSafe() (nicolas-grekas)
* bug #20499 [Doctrine][Form] support large integers (xabbuh)
* bug #20576 [Process] Do feat test before enabling TTY mode (nicolas-grekas)
* bug #20577 [FrameworkBundle] Mark cache.default_*_provider services private (nicolas-grekas)
* 3.1.7 (2016-11-21) * 3.1.7 (2016-11-21)
* bug #20550 [YAML] Fix processing timestamp strings with timezone (myesain) * bug #20550 [YAML] Fix processing timestamp strings with timezone (myesain)

View File

@ -7,6 +7,52 @@ in 3.2 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 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/v3.2.0...v3.2.1 To get the diff between two versions, go to https://github.com/symfony/symfony/compare/v3.2.0...v3.2.1
* 3.2.1 (2016-12-13)
* bug #20891 Add support for REDIS_URL environment variables. (robinvdvleuten)
* bug #20724 [WebProfilerBundle] Fix AJAX panel with fetch requests (OnekO)
* bug #20883 Dont compile when Opcache is not enabled on CLI (ruudk)
* bug #20877 DateIntervalType: 'invert' should not inherit the 'required' option (galeaspablo)
* bug #20886 [Form] DateIntervalType: Do not try to translate choices (ogizanagi)
* bug #20855 [Yaml] do not trigger deprecations for valid YAML (xabbuh)
* bug #20714 [FrameworkBundle] Fix unresolved parameters from default configs in debug:config (chalasr)
* bug #20862 Allow simple-phpunit to be used with an HTTP proxy (Cydonia7)
* bug #20882 [TwigBridge] fix constructor args check (xabbuh)
* bug #20860 [WebProfilerBundle] Fix a web profiler form issue with fields added to the form after the form was built (tgalopin)
* bug #20442 [FrameworkBundle] Bundle commands are not available via find() (julienfalque)
* bug #20840 [WebProfilerBundle] add dependency on Twig (xabbuh)
* bug #20833 [HttpKernel] Fix open_basedir compat in DataCollector (nicolas-grekas)
* bug #20828 [Validator] Fix init of YamlFileLoader::$classes for empty files (nicolas-grekas)
* bug #20688 [FrameworkBundle] Resolve env params in debug:config command (nicolas-grekas)
* bug #20725 [HttpKernel] Fix annotation cache warmer with failing or missing classes (nicolas-grekas)
* bug #20830 [FrameworkBundle] Fix validation cache warmer with failing or missing classes (nicolas-grekas)
* bug #20760 [FrameworkBundle] [Workflow] Fix service marking store configuration (fduch)
* bug #20745 [Validator] add class name to the cache key (Simperfit)
* bug #20530 [Serializer] Remove AbstractObjectNormalizer::isAttributeToNormalize (dunglas)
* bug #19141 Throw less misleading exception when property access not found (bramtweedegolf)
* bug #20539 Cast result to int before adding to it (alcaeus)
* bug #20831 [Twig] Fix deprecations with Twig 1.29 (nicolas-grekas)
* bug #20701 Ignore missing 'debug.file_link_formatter' service in Debug and Twig bundles (mbabker)
* bug #20816 [FrameworkBundle] Removed kernel.debug from the cache pool namespace seed (Sander Toonen)
* bug #20769 [Bridge\Twig] Trigger deprecation when using FormExtension::$renderer (nicolas-grekas)
* bug #20646 Maintain the selected panel when redirecting to another profile (javiereguiluz)
* bug #20767 [Cache] Fix dumping SplDoublyLinkedList iter mode (nicolas-grekas)
* bug #20690 [Serializer] Fix argument object denormalization (ogizanagi)
* bug #20762 [Form] Fix FormDataCollector (nicolas-grekas, Padam87)
* bug #20747 [HttpKernel] Fixed RequestDataCollector handling of null header values. (Gabriel Moreira)
* bug #20727 [TwigBundle] Inject project root path into twig filesystem loader (4rthem)
* bug #20736 [Console] fixed PHP7 Errors when not using Dispatcher (keradus)
* bug #20756 [HttpKernel] Regression test for missing controller arguments (iltar)
* bug #20755 [HttpKernel] Regression test for missing controller arguments (iltar)
* bug #20732 fix the inline level for dumped multi-line strings (xabbuh)
* bug #20418 [Form][DX] FileType "multiple" fixes (yceruto)
* bug #19902 [DependencyInjection] PhpDumper.php: hasReference() shouldn't search references in lazy service. (antanas-arvasevicius)
* bug #20704 [Console] Fix wrong handling of multiline arg/opt descriptions (ogizanagi)
* bug #20700 [WebProfilerBundle][Translator] Fix TranslationDataCollector should use cloneVar (ogizanagi)
* bug #20712 [TwigBundle] Fix twig loader registered twice (ogizanagi)
* bug #20716 [WebProfilerBundle] Fix dump block is unfairly restrained (ogizanagi)
* bug #20717 Fix hide button in toolbar (nicolasdewez)
* 3.2.0 (2016-11-30) * 3.2.0 (2016-11-30)
* bug #20687 [FrameworkBundle] Forbid env parameters in routing configuration (nicolas-grekas) * bug #20687 [FrameworkBundle] Forbid env parameters in routing configuration (nicolas-grekas)

View File

@ -28,16 +28,17 @@ Symfony is the result of the work of many people who made the code better
- Lukas Kahwe Smith (lsmith) - Lukas Kahwe Smith (lsmith)
- Martin Hasoň (hason) - Martin Hasoň (hason)
- Jeremy Mikola (jmikola) - Jeremy Mikola (jmikola)
- Jean-François Simon (jfsimon)
- Grégoire Pineau (lyrixx) - Grégoire Pineau (lyrixx)
- Jean-François Simon (jfsimon)
- Benjamin Eberlei (beberlei) - Benjamin Eberlei (beberlei)
- Igor Wiedler (igorw) - Igor Wiedler (igorw)
- Eriksen Costa (eriksencosta) - Eriksen Costa (eriksencosta)
- Jules Pietri (heah) - Jules Pietri (heah)
- Sarah Khalil (saro0h)
- Maxime Steinhausser (ogizanagi) - Maxime Steinhausser (ogizanagi)
- Sarah Khalil (saro0h)
- Jonathan Wage (jwage) - Jonathan Wage (jwage)
- Diego Saint Esteben (dosten) - Diego Saint Esteben (dosten)
- Robin Chalas (chalas_r)
- Alexandre Salomé (alexandresalome) - Alexandre Salomé (alexandresalome)
- William Durand (couac) - William Durand (couac)
- ornicar - ornicar
@ -45,7 +46,6 @@ Symfony is the result of the work of many people who made the code better
- stealth35 (stealth35) - stealth35 (stealth35)
- Alexander Mols (asm89) - Alexander Mols (asm89)
- Bulat Shakirzyanov (avalanche123) - Bulat Shakirzyanov (avalanche123)
- Robin Chalas (chalas_r)
- Saša Stamenković (umpirsky) - Saša Stamenković (umpirsky)
- Henrik Bjørnskov (henrikbjorn) - Henrik Bjørnskov (henrikbjorn)
- Miha Vrhovnik - Miha Vrhovnik
@ -53,9 +53,9 @@ Symfony is the result of the work of many people who made the code better
- Ener-Getick (energetick) - Ener-Getick (energetick)
- Konstantin Kudryashov (everzet) - Konstantin Kudryashov (everzet)
- Bilal Amarni (bamarni) - Bilal Amarni (bamarni)
- Iltar van der Berg (kjarli)
- Florin Patan (florinpatan) - Florin Patan (florinpatan)
- Peter Rehm (rpet) - Peter Rehm (rpet)
- Iltar van der Berg (kjarli)
- Kevin Bond (kbond) - Kevin Bond (kbond)
- Andrej Hudec (pulzarraider) - Andrej Hudec (pulzarraider)
- Gábor Egyed (1ed) - Gábor Egyed (1ed)
@ -77,16 +77,16 @@ Symfony is the result of the work of many people who made the code better
- Titouan Galopin (tgalopin) - Titouan Galopin (tgalopin)
- Daniel Holmes (dholmes) - Daniel Holmes (dholmes)
- Pierre du Plessis (pierredup) - Pierre du Plessis (pierredup)
- Toni Uebernickel (havvg)
- Bart van den Burg (burgov) - Bart van den Burg (burgov)
- Jordan Alliot (jalliot) - Jordan Alliot (jalliot)
- John Wards (johnwards) - John Wards (johnwards)
- Toni Uebernickel (havvg) - Roland Franssen (ro0)
- Fran Moreno (franmomu) - Fran Moreno (franmomu)
- Jáchym Toušek (enumag)
- Antoine Hérault (herzult) - Antoine Hérault (herzult)
- Paráda József (paradajozsef) - Paráda József (paradajozsef)
- Roland Franssen (ro0)
- Dariusz Ruminski - Dariusz Ruminski
- Jáchym Toušek (enumag)
- Arnaud Le Blanc (arnaud-lb) - Arnaud Le Blanc (arnaud-lb)
- Jérôme Tamarelle (gromnan) - Jérôme Tamarelle (gromnan)
- Michal Piotrowski (eventhorizon) - Michal Piotrowski (eventhorizon)
@ -114,6 +114,7 @@ Symfony is the result of the work of many people who made the code better
- Eric GELOEN (gelo) - Eric GELOEN (gelo)
- David Buchmann (dbu) - David Buchmann (dbu)
- Tugdual Saunier (tucksaun) - Tugdual Saunier (tucksaun)
- Maxime STEINHAUSSER
- Théo FIDRY (theofidry) - Théo FIDRY (theofidry)
- Robert Schönthal (digitalkaoz) - Robert Schönthal (digitalkaoz)
- Florian Lonqueu-Brochard (florianlb) - Florian Lonqueu-Brochard (florianlb)
@ -134,6 +135,7 @@ Symfony is the result of the work of many people who made the code better
- jwdeitch - jwdeitch
- Tobias Nyholm (tobias) - Tobias Nyholm (tobias)
- Joel Wurtz (brouznouf) - Joel Wurtz (brouznouf)
- Yonel Ceruto González (yonelceruto)
- Philipp Wahala (hifi) - Philipp Wahala (hifi)
- Vyacheslav Pavlov - Vyacheslav Pavlov
- Javier Spagnoletti (phansys) - Javier Spagnoletti (phansys)
@ -146,7 +148,6 @@ Symfony is the result of the work of many people who made the code better
- Clemens Tolboom - Clemens Tolboom
- Helmer Aaviksoo - Helmer Aaviksoo
- Hiromi Hishida (77web) - Hiromi Hishida (77web)
- Yonel Ceruto González (yonelceruto)
- Richard van Laak (rvanlaak) - Richard van Laak (rvanlaak)
- Matthieu Ouellette-Vachon (maoueh) - Matthieu Ouellette-Vachon (maoueh)
- Michał Pipa (michal.pipa) - Michał Pipa (michal.pipa)
@ -168,7 +169,6 @@ Symfony is the result of the work of many people who made the code better
- Andreas Hucks (meandmymonkey) - Andreas Hucks (meandmymonkey)
- Noel Guilbert (noel) - Noel Guilbert (noel)
- Lars Strojny (lstrojny) - Lars Strojny (lstrojny)
- Maxime STEINHAUSSER
- Stepan Anchugov (kix) - Stepan Anchugov (kix)
- bronze1man - bronze1man
- sun (sun) - sun (sun)
@ -263,6 +263,7 @@ Symfony is the result of the work of many people who made the code better
- Hidde Wieringa (hiddewie) - Hidde Wieringa (hiddewie)
- Chris Smith (cs278) - Chris Smith (cs278)
- Florian Klein (docteurklein) - Florian Klein (docteurklein)
- Julien Falque (julienfalque)
- Oleg Voronkovich - Oleg Voronkovich
- Manuel Kiessling (manuelkiessling) - Manuel Kiessling (manuelkiessling)
- Daniel Wehner - Daniel Wehner
@ -331,10 +332,13 @@ Symfony is the result of the work of many people who made the code better
- Loïc Chardonnet (gnusat) - Loïc Chardonnet (gnusat)
- Marek Kalnik (marekkalnik) - Marek Kalnik (marekkalnik)
- Vyacheslav Salakhutdinov (megazoll) - Vyacheslav Salakhutdinov (megazoll)
- Jerzy Zawadzki (jzawadzki)
- Hassan Amouhzi - Hassan Amouhzi
- Tamas Szijarto - Tamas Szijarto
- Pavel Volokitin (pvolok) - Pavel Volokitin (pvolok)
- Nicolas Dewez (nicolas_dewez)
- Endre Fejes - Endre Fejes
- Victor Bocharsky (bocharsky_bw)
- Tobias Naumann (tna) - Tobias Naumann (tna)
- Daniel Beyer - Daniel Beyer
- Shein Alexey - Shein Alexey
@ -427,7 +431,6 @@ Symfony is the result of the work of many people who made the code better
- Roy Van Ginneken (rvanginneken) - Roy Van Ginneken (rvanginneken)
- ondrowan - ondrowan
- Barry vd. Heuvel (barryvdh) - Barry vd. Heuvel (barryvdh)
- Jerzy Zawadzki (jzawadzki)
- Evan S Kaufman (evanskaufman) - Evan S Kaufman (evanskaufman)
- mcben - mcben
- Jérôme Vieilledent (lolautruche) - Jérôme Vieilledent (lolautruche)
@ -437,9 +440,7 @@ Symfony is the result of the work of many people who made the code better
- Markus Lanthaler (lanthaler) - Markus Lanthaler (lanthaler)
- Remi Collet - Remi Collet
- Vicent Soria Durá (vicentgodella) - Vicent Soria Durá (vicentgodella)
- Nicolas Dewez (nicolas_dewez)
- Anthony Ferrara - Anthony Ferrara
- Victor Bocharsky (bocharsky_bw)
- Ioan Negulescu - Ioan Negulescu
- Jakub Škvára (jskvara) - Jakub Škvára (jskvara)
- Andrew Udvare (audvare) - Andrew Udvare (audvare)
@ -484,6 +485,7 @@ Symfony is the result of the work of many people who made the code better
- Ziumin - Ziumin
- Jeremy Benoist - Jeremy Benoist
- Lenar Lõhmus - Lenar Lõhmus
- Sander Toonen (xatoo)
- Benjamin Laugueux (yzalis) - Benjamin Laugueux (yzalis)
- Zach Badgett (zachbadgett) - Zach Badgett (zachbadgett)
- Aurélien Fredouelle - Aurélien Fredouelle
@ -521,6 +523,7 @@ Symfony is the result of the work of many people who made the code better
- Maxime Douailin - Maxime Douailin
- Jean Pasdeloup (pasdeloup) - Jean Pasdeloup (pasdeloup)
- Javier López (loalf) - Javier López (loalf)
- Andreas Braun
- Reinier Kip - Reinier Kip
- Geoffrey Brier (geoffrey-brier) - Geoffrey Brier (geoffrey-brier)
- Dustin Dobervich (dustin10) - Dustin Dobervich (dustin10)
@ -548,8 +551,10 @@ Symfony is the result of the work of many people who made the code better
- umpirski - umpirski
- Chris Heng (gigablah) - Chris Heng (gigablah)
- Ulumuddin Yunus (joenoez) - Ulumuddin Yunus (joenoez)
- Adam Prager (padam87)
- Luc Vieillescazes (iamluc) - Luc Vieillescazes (iamluc)
- Johann Saunier (prophet777) - Johann Saunier (prophet777)
- Samuel ROZE (sroze)
- Michael Devery (mickadoo) - Michael Devery (mickadoo)
- Antoine Corcy - Antoine Corcy
- Artur Eshenbrener - Artur Eshenbrener
@ -589,6 +594,7 @@ Symfony is the result of the work of many people who made the code better
- yclian - yclian
- twifty - twifty
- Peter Ward - Peter Ward
- Julien DIDIER (juliendidier)
- Dominik Ritter (dritter) - Dominik Ritter (dritter)
- Sebastian Grodzicki (sgrodzicki) - Sebastian Grodzicki (sgrodzicki)
- Martin Hujer (martinhujer) - Martin Hujer (martinhujer)
@ -613,6 +619,7 @@ Symfony is the result of the work of many people who made the code better
- michaelwilliams - michaelwilliams
- 1emming - 1emming
- Leevi Graham (leevigraham) - Leevi Graham (leevigraham)
- Nykopol (nykopol)
- Jordan Deitch - Jordan Deitch
- Casper Valdemar Poulsen - Casper Valdemar Poulsen
- Josiah (josiah) - Josiah (josiah)
@ -696,9 +703,9 @@ Symfony is the result of the work of many people who made the code better
- abdul malik ikhsan (samsonasik) - abdul malik ikhsan (samsonasik)
- Henry Snoek (snoek09) - Henry Snoek (snoek09)
- Simone Di Maulo (toretto460) - Simone Di Maulo (toretto460)
- Sander Toonen (xatoo)
- Christian Morgan - Christian Morgan
- Alexander Miehe (engerim) - Alexander Miehe (engerim)
- Jérôme Parmentier (lctrs)
- Morgan Auchede (mauchede) - Morgan Auchede (mauchede)
- Don Pinkster - Don Pinkster
- Maksim Muruev - Maksim Muruev
@ -769,13 +776,13 @@ Symfony is the result of the work of many people who made the code better
- fabios - fabios
- Sander Coolen (scoolen) - Sander Coolen (scoolen)
- Nicolas Le Goff (nlegoff) - Nicolas Le Goff (nlegoff)
- Andreas Braun
- Ben Oman - Ben Oman
- Manuele Menozzi - Manuele Menozzi
- Anton Babenko (antonbabenko) - Anton Babenko (antonbabenko)
- Irmantas Šiupšinskas (irmantas) - Irmantas Šiupšinskas (irmantas)
- Danilo Silva - Danilo Silva
- Zachary Tong (polyfractal) - Zachary Tong (polyfractal)
- Amrouche Hamza
- Hryhorii Hrebiniuk - Hryhorii Hrebiniuk
- Dennis Fridrich (dfridrich) - Dennis Fridrich (dfridrich)
- mcfedr (mcfedr) - mcfedr (mcfedr)
@ -808,10 +815,10 @@ Symfony is the result of the work of many people who made the code better
- Ville Mattila - Ville Mattila
- Boris Vujicic (boris.vujicic) - Boris Vujicic (boris.vujicic)
- Max Beutel - Max Beutel
- Antanas Arvasevicius
- nacho - nacho
- Piotr Antosik (antek88) - Piotr Antosik (antek88)
- Artem Lopata - Artem Lopata
- Samuel ROZE (sroze)
- Sergey Novikov (s12v) - Sergey Novikov (s12v)
- Marcos Quesada (marcos_quesada) - Marcos Quesada (marcos_quesada)
- Matthew Vickery (mattvick) - Matthew Vickery (mattvick)
@ -842,6 +849,7 @@ Symfony is the result of the work of many people who made the code better
- Thomas Royer (cydonia7) - Thomas Royer (cydonia7)
- DerManoMann - DerManoMann
- Olaf Klischat - Olaf Klischat
- orlovv
- Jhonny Lidfors (jhonny) - Jhonny Lidfors (jhonny)
- Julien Bianchi (jubianchi) - Julien Bianchi (jubianchi)
- Robert Meijers - Robert Meijers
@ -877,6 +885,7 @@ Symfony is the result of the work of many people who made the code better
- Taras Girnyk - Taras Girnyk
- Eduardo García Sanz (coma) - Eduardo García Sanz (coma)
- James Gilliland - James Gilliland
- fduch (fduch)
- Rhodri Pugh (rodnaph) - Rhodri Pugh (rodnaph)
- David de Boer (ddeboer) - David de Boer (ddeboer)
- Klaus Purer - Klaus Purer
@ -910,6 +919,7 @@ Symfony is the result of the work of many people who made the code better
- Alberto Aldegheri - Alberto Aldegheri
- heccjj - heccjj
- Alexandre Melard - Alexandre Melard
- Thomas Calvet
- Sergey Yuferev - Sergey Yuferev
- Tobias Stöckler - Tobias Stöckler
- Mario Young - Mario Young
@ -950,6 +960,7 @@ Symfony is the result of the work of many people who made the code better
- Sebastian Utz - Sebastian Utz
- Adrien Gallou (agallou) - Adrien Gallou (agallou)
- Karol Sójko (karolsojko) - Karol Sójko (karolsojko)
- Grzegorz Zdanowski (kiler129)
- sl_toto (sl_toto) - sl_toto (sl_toto)
- Walter Dal Mut (wdalmut) - Walter Dal Mut (wdalmut)
- Albin Kerouaton - Albin Kerouaton
@ -997,9 +1008,11 @@ Symfony is the result of the work of many people who made the code better
- Ahmed TAILOULOUTE (ahmedtai) - Ahmed TAILOULOUTE (ahmedtai)
- Maxime Veber (nek-) - Maxime Veber (nek-)
- Sullivan SENECHAL - Sullivan SENECHAL
- Dariusz Ruminski
- Tadcka - Tadcka
- Beth Binkovitz - Beth Binkovitz
- Romain Geissler - Romain Geissler
- Adrien Moiruad
- Tomaz Ahlin - Tomaz Ahlin
- Benjamin Cremer (bcremer) - Benjamin Cremer (bcremer)
- Marcus Stöhr (dafish) - Marcus Stöhr (dafish)
@ -1015,7 +1028,6 @@ Symfony is the result of the work of many people who made the code better
- Max Romanovsky (maxromanovsky) - Max Romanovsky (maxromanovsky)
- Mathieu Morlon - Mathieu Morlon
- Daniel Tschinder - Daniel Tschinder
- Nykopol (nykopol)
- Rafał Muszyński (rafmus90) - Rafał Muszyński (rafmus90)
- Timothy Anido (xanido) - Timothy Anido (xanido)
- Rick Prent - Rick Prent
@ -1061,6 +1073,7 @@ Symfony is the result of the work of many people who made the code better
- kor3k kor3k (kor3k) - kor3k kor3k (kor3k)
- Stelian Mocanita (stelian) - Stelian Mocanita (stelian)
- Flavian (2much) - Flavian (2much)
- Arthur de Moulins (4rthem)
- mike - mike
- Keith Maika - Keith Maika
- Mephistofeles - Mephistofeles
@ -1093,7 +1106,6 @@ Symfony is the result of the work of many people who made the code better
- Adrian Olek (adrianolek) - Adrian Olek (adrianolek)
- Przemysław Piechota (kibao) - Przemysław Piechota (kibao)
- Leonid Terentyev (li0n) - Leonid Terentyev (li0n)
- Adam Prager (padam87)
- ryunosuke - ryunosuke
- victoria - victoria
- Francisco Facioni (fran6co) - Francisco Facioni (fran6co)
@ -1254,11 +1266,11 @@ Symfony is the result of the work of many people who made the code better
- Jan Eichhorn (exeu) - Jan Eichhorn (exeu)
- Grégory Pelletier (ip512) - Grégory Pelletier (ip512)
- John Nickell (jrnickell) - John Nickell (jrnickell)
- Julien DIDIER (juliendidier)
- Martin Mayer (martin) - Martin Mayer (martin)
- Grzegorz Łukaszewicz (newicz) - Grzegorz Łukaszewicz (newicz)
- Götz Gottwald - Götz Gottwald
- Veres Lajos - Veres Lajos
- Michael Babker
- grifx - grifx
- Robert Campbell - Robert Campbell
- Matt Lehner - Matt Lehner
@ -1299,6 +1311,7 @@ Symfony is the result of the work of many people who made the code better
- Alex - Alex
- Klaas Naaijkens - Klaas Naaijkens
- Daniel González Cerviño - Daniel González Cerviño
- ShinDarth
- Rafał - Rafał
- Adria Lopez (adlpz) - Adria Lopez (adlpz)
- Rosio (ben-rosio) - Rosio (ben-rosio)
@ -1319,7 +1332,6 @@ Symfony is the result of the work of many people who made the code better
- Jelle Bekker (jbekker) - Jelle Bekker (jbekker)
- Ian Jenkins (jenkoian) - Ian Jenkins (jenkoian)
- Jorge Martin (jorgemartind) - Jorge Martin (jorgemartind)
- Julien Falque (julienfalque)
- Kevin Herrera (kherge) - Kevin Herrera (kherge)
- Luis Ramón López López (lrlopez) - Luis Ramón López López (lrlopez)
- Muriel (metalmumu) - Muriel (metalmumu)
@ -1341,6 +1353,7 @@ Symfony is the result of the work of many people who made the code better
- Saem Ghani - Saem Ghani
- Stefan Oderbolz - Stefan Oderbolz
- Curtis - Curtis
- Gabriel Moreira
- Alexey Popkov - Alexey Popkov
- Joseph Deray - Joseph Deray
- Damian Sromek - Damian Sromek
@ -1362,6 +1375,7 @@ Symfony is the result of the work of many people who made the code better
- Wotre - Wotre
- goohib - goohib
- Xavier HAUSHERR - Xavier HAUSHERR
- Edwin Hageman
- Mantas Urnieža - Mantas Urnieža
- Cas - Cas
- Dusan Kasan - Dusan Kasan
@ -1393,6 +1407,7 @@ Symfony is the result of the work of many people who made the code better
- Dariusz Czech - Dariusz Czech
- Anonymous User - Anonymous User
- Eric J. Duran - Eric J. Duran
- Alexandru Bucur
- cmfcmf - cmfcmf
- Drew Butler - Drew Butler
- Steve Müller - Steve Müller
@ -1477,11 +1492,13 @@ Symfony is the result of the work of many people who made the code better
- Daniel Basten (axhm3a) - Daniel Basten (axhm3a)
- Bill Hance (billhance) - Bill Hance (billhance)
- Bernd Matzner (bmatzner) - Bernd Matzner (bmatzner)
- Bram Tweedegolf (bram_tweedegolf)
- Choong Wei Tjeng (choonge) - Choong Wei Tjeng (choonge)
- Kousuke Ebihara (co3k) - Kousuke Ebihara (co3k)
- Loïc Vernet (coil) - Loïc Vernet (coil)
- Christoph Schaefer (cvschaefer) - Christoph Schaefer (cvschaefer)
- Damon Jones (damon__jones) - Damon Jones (damon__jones)
- Łukasz Giza (destroyer)
- Daniel Londero (dlondero) - Daniel Londero (dlondero)
- Sebastian Landwehr (dword123) - Sebastian Landwehr (dword123)
- Adel ELHAIBA (eadel) - Adel ELHAIBA (eadel)
@ -1497,6 +1514,7 @@ Symfony is the result of the work of many people who made the code better
- Arash Tabriziyan (ghost098) - Arash Tabriziyan (ghost098)
- ibasaw (ibasaw) - ibasaw (ibasaw)
- Vladislav Krupenkin (ideea) - Vladislav Krupenkin (ideea)
- Imangazaliev Muhammad (imangazaliev)
- joris de wit (jdewit) - joris de wit (jdewit)
- Jérémy CROMBEZ (jeremy) - Jérémy CROMBEZ (jeremy)
- Jose Manuel Gonzalez (jgonzalez) - Jose Manuel Gonzalez (jgonzalez)
@ -1506,10 +1524,10 @@ Symfony is the result of the work of many people who made the code better
- JuntaTom (juntatom) - JuntaTom (juntatom)
- Ismail Faizi (kanafghan) - Ismail Faizi (kanafghan)
- Sébastien Armand (khepin) - Sébastien Armand (khepin)
- Pierre-Chanel Gauthier (kmecnin)
- Krzysztof Menżyk (krymen) - Krzysztof Menżyk (krymen)
- samuel laulhau (lalop) - samuel laulhau (lalop)
- Laurent Bachelier (laurentb) - Laurent Bachelier (laurentb)
- Jérôme Parmentier (lctrs)
- Florent Viel (luxifer) - Florent Viel (luxifer)
- Matthieu Moquet (mattketmo) - Matthieu Moquet (mattketmo)
- Moritz Borgmann (mborgmann) - Moritz Borgmann (mborgmann)

View File

@ -106,7 +106,9 @@ class CachePoolPass implements CompilerPassInterface
*/ */
public static function getServiceProvider(ContainerBuilder $container, $name) public static function getServiceProvider(ContainerBuilder $container, $name)
{ {
if (0 === strpos($name, 'redis://')) { $container->resolveEnvPlaceholders($name, null, $usedEnvs);
if (0 === strpos($name, 'redis://') || $usedEnvs) {
$dsn = $name; $dsn = $name;
if (!$container->hasDefinition($name = md5($dsn))) { if (!$container->hasDefinition($name = md5($dsn))) {

View File

@ -0,0 +1,9 @@
<?php
$container->setParameter('env(REDIS_URL)', 'redis://paas.com');
$container->loadFromExtension('framework', array(
'cache' => array(
'default_redis_provider' => '%env(REDIS_URL)%',
),
));

View File

@ -0,0 +1,17 @@
<?xml version="1.0" ?>
<container xmlns="http://symfony.com/schema/dic/services"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:framework="http://symfony.com/schema/dic/symfony"
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd
http://symfony.com/schema/dic/symfony http://symfony.com/schema/dic/symfony/symfony-1.0.xsd">
<parameters>
<parameter key="env(REDIS_URL)">redis://paas.com</parameter>
</parameters>
<framework:config>
<framework:cache>
<framework:default-redis-provider>%env(REDIS_URL)%</framework:default-redis-provider>
</framework:cache>
</framework:config>
</container>

View File

@ -0,0 +1,6 @@
parameters:
env(REDIS_URL): redis://paas.com
framework:
cache:
default_redis_provider: "%env(REDIS_URL)%"

View File

@ -697,6 +697,34 @@ abstract class FrameworkExtensionTest extends TestCase
$this->assertTrue($container->has('property_info')); $this->assertTrue($container->has('property_info'));
} }
public function testCacheDefaultRedisProvider()
{
$container = $this->createContainerFromFile('cache');
$redisUrl = 'redis://localhost';
$providerId = md5($redisUrl);
$this->assertTrue($container->hasDefinition($providerId));
$url = $container->getDefinition($providerId)->getArgument(0);
$this->assertSame($redisUrl, $url);
}
public function testCacheDefaultRedisProviderWithEnvVar()
{
$container = $this->createContainerFromFile('cache_env_var');
$redisUrl = 'redis://paas.com';
$providerId = md5($redisUrl);
$this->assertTrue($container->hasDefinition($providerId));
$url = $container->getDefinition($providerId)->getArgument(0);
$this->assertSame($redisUrl, $url);
}
public function testCachePoolServices() public function testCachePoolServices()
{ {
$container = $this->createContainerFromFile('cache'); $container = $this->createContainerFromFile('cache');

View File

@ -92,6 +92,7 @@ class PhpFilesAdapter extends AbstractAdapter
{ {
$ok = true; $ok = true;
$data = array($lifetime ? time() + $lifetime : PHP_INT_MAX, ''); $data = array($lifetime ? time() + $lifetime : PHP_INT_MAX, '');
$allowCompile = 'cli' !== PHP_SAPI || ini_get('opcache.enable_cli');
foreach ($values as $key => $value) { foreach ($values as $key => $value) {
if (null === $value || is_object($value)) { if (null === $value || is_object($value)) {
@ -116,7 +117,7 @@ class PhpFilesAdapter extends AbstractAdapter
$file = $this->getFile($key, true); $file = $this->getFile($key, true);
$ok = $this->write($file, '<?php return '.var_export($data, true).';') && $ok; $ok = $this->write($file, '<?php return '.var_export($data, true).';') && $ok;
if ('cli' !== PHP_SAPI || ini_get('opcache.enable_cli')) { if ($allowCompile) {
@opcache_compile_file($file); @opcache_compile_file($file);
} }
} }

View File

@ -101,8 +101,6 @@ class Application
* @param OutputInterface $output An Output instance * @param OutputInterface $output An Output instance
* *
* @return int 0 if everything went fine, or an error code * @return int 0 if everything went fine, or an error code
*
* @throws \Exception When doRun returns Exception
*/ */
public function run(InputInterface $input = null, OutputInterface $output = null) public function run(InputInterface $input = null, OutputInterface $output = null)
{ {
@ -416,7 +414,7 @@ class Application
* *
* @return Command A Command object * @return Command A Command object
* *
* @throws CommandNotFoundException When command name given does not exist * @throws CommandNotFoundException When given command name does not exist
*/ */
public function get($name) public function get($name)
{ {
@ -826,8 +824,6 @@ class Application
* @param OutputInterface $output An Output instance * @param OutputInterface $output An Output instance
* *
* @return int 0 if everything went fine, or an error code * @return int 0 if everything went fine, or an error code
*
* @throws \Exception when the command being run threw an exception
*/ */
protected function doRunCommand(Command $command, InputInterface $input, OutputInterface $output) protected function doRunCommand(Command $command, InputInterface $input, OutputInterface $output)
{ {