This PR was merged into the master branch.
Discussion
----------
Console fix
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | yes (possibly)
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | symfony/symfony-standard#256
| License | MIT
| Doc PR | n/a
Everything is explained in the commits.
Commits
-------
bd0c48c [Console] moved the IO configuration to its own method
fdb4b1f [Console] moved --help support to allow proper behavior with other passed options
This PR was merged into the master branch.
Discussion
----------
[HttpKernel] Fixed ContainerAwareHttpKernelTest
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes, although not all of them yet (security tests fail on PHP 5.3.3)
| Fixed tickets | -
| License | MIT
| Doc PR | -
Commits
-------
d5e7bdf [HttpKernel] Fixed ContainerAwareHttpKernelTest.
The IO configuration was also moved earlier in the process so that
options are taken into account as early as possible.
That's useful for instance in Symfony FrameworkBundle, where
commands are registered in the doRun() method. If an exception
occurs during registration, the -q, -v, ... options would not
have any effect.
This PR was submitted for the 2.1 branch but it was merged into the master branch instead (closes#7952).
Discussion
----------
[TwigBridge] Make getNodeVisitors call getTranslationNodeVisitor()
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Applies to | 2.1+
| Tests pass? | yes
| Fixed tickets | N/A
| License | MIT
| Doc PR | N/A
Commits
-------
20977e2 [TwigBridge] Eased translationNodeVisitor overriding in TranslationExtension
This PR was squashed before being merged into the 2.1 branch (closes#7969).
Discussion
----------
[Console] Added dedicated testcase for HelperSet class
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | NA
| License | MIT
| Doc PR | NA
Previously the HelperSet class was only tested by way of the Application testcase. This patch adds a dedicated testcase and increases test coverage of the class to 100%.
Commits
-------
37af771 [Console] Added dedicated testcase for HelperSet class
This PR was merged into the master branch.
Discussion
----------
[Validator] Updated translation
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | n/a
| License | MIT
| Doc PR | n/a
This updates the Romanian translations to match the latest changes.
Commits
-------
3532f2d Updated translation
This PR was merged into the master branch.
Discussion
----------
[Validator] Basque translations for new validators from #790
Commits
-------
971f551 Basque translations for new validators from #790
This PR was submitted for the master branch but it was merged into the 2.2 branch instead (closes#7971).
Discussion
----------
[Serializer] Fatal error in denormalizeObject for Normalizers that do not implement DenormalizerInterface
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | 7971
| License | MIT
| Doc PR |
If there is a list of Normalizers, and only some of them implement DenormalizerInterface, then a call to deserialize() can result in a fatal error.
This is because denormalizeObject does not check that the Normalizer implements DenormalizerInterface before calling supportsDenormalization on it.
Commits
-------
cacca2f [Serializer] Fixed fatal error in normalize/denormalizeObject.
This PR was merged into the master branch.
Discussion
----------
[Validator] Updated czech translation of comparison validators
Commits
-------
1416595 [Validator] Updated czech translation of comparison validators
This PR was merged into the 2.2 branch.
Discussion
----------
[TwigBundle] Fixed 2 namespaces
Something went wrong with the namespaces in the test directory in 2.2
Commits
-------
1788c6b Fixed 2 namespaces
This PR was merged into the master branch.
Discussion
----------
[Validator] Added Portuguese translation for the comparison validators
| Q | A
| ------------- | ---
| Fixed tickets | N/A
| License | MIT
Commits
-------
759ed17 [Validator] Added Portuguese translation for the comparison validators
This PR was merged into the master branch.
Discussion
----------
[Validator] Update validators.uk.xlf
append translation
Commits
-------
7bc9e09 Update validators.uk.xlf
* 2.2:
bumped Symfony version to 2.1.11-DEV
updated VERSION for 2.1.10
update CONTRIBUTORS for 2.1.10
updated CHANGELOG for 2.1.10
fixed CS
[Process] Cleanup tests & prevent assertion that kills randomly Travis-CI
[Filesystem] Fix regression introduced in 10dea948
Conflicts:
src/Symfony/Component/Process/Tests/AbstractProcessTest.php
This PR was merged into the 2.1 branch.
Discussion
----------
[Filesystem] Fix regression introduced in 10dea94
This is one of ideas to fix the regression from 10dea948, @kachkaev what do you think?
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| Tests pass? | yes
| Fixed tickets | #7920
| License | MIT
Commits
-------
e4913f8 [Filesystem] Fix regression introduced in 10dea948
This PR was merged into the master branch.
Discussion
----------
Dependency check should be on ProxyManager directly - fixes#7945
Hotfix for #7945 and symfony/symfony-standard#542
Yes yes, I know, the headers - coming after meeting time
Commits
-------
0aeed90 Dependency check should be on ProxyManager directly - fixes#7945
* 2.2:
added additional tests to cover invalid argument exceptions in OutputFormatterStyle component
added a missing check for the provider key
[Validator] fixed wrong URL for XSD
[Validator] Fixed: $traverse and $deep is passed to the visitor from Validator::validate()
[Form] Fixed transform()/reverseTransform() to always throw TransformationFailedExceptions
[Form] Fixed: String validation groups are never interpreted as callbacks
if the repository method returns an array ensure that it's internal poin...
[Form] Improved multi-byte handling of NumberToLocalizedStringTransformer
Fix wrong method in findTaggedServiceIds(), add example to docblock.
Conflicts:
src/Symfony/Component/Form/Extension/Core/DataTransformer/ChoicesToBooleanArrayTransformer.php
src/Symfony/Component/Form/Extension/Validator/Constraints/FormValidator.php
* 2.1:
added additional tests to cover invalid argument exceptions in OutputFormatterStyle component
added a missing check for the provider key
[Validator] fixed wrong URL for XSD
[Form] Fixed transform()/reverseTransform() to always throw TransformationFailedExceptions
[Form] Fixed: String validation groups are never interpreted as callbacks
if the repository method returns an array ensure that it's internal poin...
Fix wrong method in findTaggedServiceIds(), add example to docblock.
Conflicts:
src/Symfony/Bridge/Doctrine/Form/DataTransformer/CollectionToArrayTransformer.php
src/Symfony/Component/Form/Extension/Core/DataTransformer/DataTransformerChain.php
src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/ArrayToPartsTransformerTest.php
src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/ChoiceToValueTransformerTest.php
src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/ChoicesToValuesTransformerTest.php
src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToArrayTransformerTest.php
src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToRfc3339TransformerTest.php
src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/IntegerToLocalizedStringTransformerTest.php
src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/ValueToDuplicatesTransformerTest.php
This PR was merged into the master branch.
Discussion
----------
made some optimization when parsing YAML files
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | n/a
| License | MIT
| Doc PR | n/a
This change makes a small speed optimization when loading a YAML file, but more important, it allows to use local stream wrappers instead of regular files on the filesystem.
Commits
-------
0586c7e made some optimization when parsing YAML files
This PR was merged into the master branch.
Discussion
----------
[HttpFoundation] Reverted a part of #7931
refs: #7931
Commits
-------
09c2114 Reverted a part of f5e7f24819
This PR was squashed before being merged into the master branch (closes#7890).
Discussion
----------
ProxyManager Bridge
As of @beberlei's suggestion, I re-implemented #7527 as a new bridge to avoid possible hidden dependencies.
Everything is like #7527 except that the new namespace (and possibly package/subtree split) `Symfony\Bridge\ProxyManager` is introduced
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #6140 (supersedes) #5012#6102 (maybe) #7527 (supersedes)
| License | MIT (attached code) - BSD-3-Clause (transitive dependency)
| Doc PR | Please pester me to death so I do it
This PR introduces lazy services along the lines of zendframework/zf2#4146
It introduces an **OPTIONAL** dependency to [ProxyManager](https://github.com/Ocramius/ProxyManager) and transitively to [`"zendframework/zend-code": "2.*"`](https://github.com/zendframework/zf2/tree/master/library/Zend/Code).
## Lazy services: why? A comprehensive example
For those who don't know what this is about, here's an example.
Assuming you have a service class like following:
```php
class MySuperSlowClass
{
public function __construct()
{
// inject large object graph or do heavy computation
sleep(10);
}
public function doFoo()
{
echo 'Foo!';
}
}
```
The DIC will hang for 10 seconds when calling:
```php
$container->get('my_super_slow_class');
```
With this PR, this can be avoided, and the following call will return a proxy immediately.
```php
$container->getDefinitions('my_super_slow_class')->setLazy(true);
$service = $container->get('my_super_slow_class');
```
The 10 seconds wait time will be delayed until the object is actually used:
```php
$service->doFoo(); // wait 10 seconds, then 'Foo!'
```
A more extensive description of the functionality can be found [here](https://github.com/Ocramius/ProxyManager/blob/master/docs/lazy-loading-value-holder.md).
## When do we need it?
Lazy services can be used to optimize the dependency graph in cases like:
* Webservice endpoints
* Db connections
* Objects that cause I/O in general
* Large dependency graphs that are not always used
This could also help in reducing excessive service location usage as I've explained [here](http://ocramius.github.com/blog/zf2-and-symfony-service-proxies-with-doctrine-proxies/).
## Implementation quirks of this PR
There's a couple of quirks in the implementation:
* `Symfony\Component\DependencyInjection\CompilerBuilder#createService` is now public because of the limitations of PHP 5.3
* `Symfony\Component\DependencyInjection\Dumper\PhpDumper` now with extra mess!
* The proxies are dumped at the end of compiled containers, therefore the container class is not PSR compliant anymore
Commits
-------
78e3710 ProxyManager Bridge