Commit Graph

115 Commits

Author SHA1 Message Date
Kévin Dunglas
1fab27b58c [Serializer] ObjectNormalizer: don't serialize static methods and props 2015-11-17 20:34:27 +01:00
Fabien Potencier
1bed1772f6 bug #16454 [Serializer] GetSetNormalizer shouldn't set/get static methods (boekkooi)
This PR was merged into the 2.7 branch.

Discussion
----------

[Serializer] GetSetNormalizer shouldn't set/get static methods

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | maybe
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

This PR fixes setting static getters and setters when serializing.
This is strictly speaking a BC break but in my opinion a needed one because the current behavior is unexpected.

Commits
-------

d8d4405 [Serializer] GetSetNormalizer shouldn't set/get static methods
2015-11-05 14:03:56 +01:00
Warnar Boekkooi
d8d4405e50 [Serializer] GetSetNormalizer shouldn't set/get static methods 2015-11-04 15:11:04 +08:00
Warnar Boekkooi
b15bdca96d [Serializer] PropertyNormalizer shouldn't set static properties 2015-11-04 15:01:32 +08:00
Nicolas Grekas
b028aeaa04 [tests] Use @requires annotation when possible 2015-10-10 11:00:45 +02:00
François-Xavier de Guillebon
d2b3fe4c72 Fixed properties not explicitily declared 2015-09-14 11:40:15 +02:00
Nicolas Grekas
0f2256e85a [appveyor] PHP 5.3.11 for Symfony 2.7 2015-08-31 18:44:53 +02:00
Fabien Potencier
c0e4495b66 fixes CS 2015-08-24 09:13:45 +02:00
Nicolas Grekas
c0ff72802c Merge branch '2.3' into 2.7
* 2.3:
  typofix - https://github.com/vlajos/misspell_fixer
  [Yaml] Nested merge keys
  Add support for variadic arguments in the GetSetNormalizer

Conflicts:
	src/Symfony/Component/Serializer/Normalizer/GetSetMethodNormalizer.php
	src/Symfony/Component/Serializer/Tests/Normalizer/GetSetMethodNormalizerTest.php
	src/Symfony/Component/Validator/Tests/Mapping/ClassMetadataTest.php
	src/Symfony/Component/Yaml/Tests/Fixtures/sfMergeKey.yml
2015-08-11 09:58:34 +02:00
Christophe Coevoet
704760b276 Add support for variadic arguments in the GetSetNormalizer 2015-08-01 21:55:55 +02:00
Kévin Dunglas
65e9f268fe [Serializer] Fix bugs reported in b5990be491 (commitcomment-12301266) 2015-07-22 21:42:44 +02:00
Fabien Potencier
b2fddecde9 bug #15176 [Serializer] Fix ClassMetadata::sleep() (dunglas)
This PR was squashed before being merged into the 2.7 branch (closes #15176).

Discussion
----------

[Serializer] Fix ClassMetadata::sleep()

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | n/a

Fix a bug with the `sleep()` method. It is blocking under when using the APC metadata cache.

Commits
-------

2f42801 [Serializer] Fix ClassMetadata::sleep()
2015-07-08 08:12:51 +02:00
Kévin Dunglas
2f4280110d [Serializer] Fix ClassMetadata::sleep() 2015-07-08 08:12:45 +02:00
Kévin Dunglas
2bd8fb8f97 [Serializer] Fix Groups tests. 2015-07-04 12:02:28 +02:00
Nicolas Grekas
9eea9eb848 [PhpUnitBridge] Enforce @-silencing of deprecation notices according to new policy 2015-06-18 21:21:56 +02:00
Fabien Potencier
2aeaa22e31 bug #14745 [Serializer] AbstractNormalizer::instantiateObject allow default values when not optional (boekkooi)
This PR was merged into the 2.7 branch.

Discussion
----------

[Serializer] AbstractNormalizer::instantiateObject allow default values when not optional

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

This PR fixes a bug in the AbstractNormalizer when denormalizing a array with a missing value but a default value set in the class constructor.

Commits
-------

266d53e [Serializer] AbstractNormalizer::instantiateObject allow default values when not optional
2015-05-25 09:45:54 +02:00
Warnar Boekkooi
d546080d20 [Serializer] AbstractNormalizer::instantiateObject avoid null rejection 2015-05-25 09:37:02 +02:00
Warnar Boekkooi
266d53e5e8 [Serializer] AbstractNormalizer::instantiateObject allow default values when not optional 2015-05-25 07:36:47 +08:00
Kévin Dunglas
c9bff461bc [Serializer] Ignore \Traversable in default normalizers. Close #14495. 2015-05-04 09:31:19 +02:00
Kévin Dunglas
454ef8cc6f [Serializer] Fix a bug when using groups together with a name converter 2015-04-27 14:05:43 +02:00
Kévin Dunglas
9c87eccf9f [Serializer] Supports hassers and setters for groups annotations 2015-04-02 22:29:07 +02:00
Fabien Potencier
6b02541880 Merge branch '2.6' into 2.7
* 2.6:
  Fix small coding style
  [2.3] Static Code Analysis for Components
  [Form] fixed phpdoc
  CS: Convert double quotes to single quotes
  Fixed MongoODM entity loader. Improved loading behavior of entities and documents by reusing entity loader.
  [Validator] added Japanese translation for unmatched charset (id: 80)
  [WebProfilerBundle] fixed undefined buttons.
  [WebProfilerBundle] Fix javascript toolbar on IE8
  [DependencyInjection] Highest precedence for user parameters
  bumped Symfony version to 2.6.6
  [Translation][MoFileLoader] fixed load empty translation.
  updated VERSION for 2.6.5
  updated CHANGELOG for 2.6.5
  bumped Symfony version to 2.3.27
  updated VERSION for 2.3.26
  update CONTRIBUTORS for 2.3.26
  updated CHANGELOG for 2.3.26
  [HttpKernel] UriSigner::buildUrl - default params for http_build_query

Conflicts:
	src/Symfony/Bridge/Propel1/Tests/DataCollector/PropelDataCollectorTest.php
	src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php
	src/Symfony/Component/HttpKernel/Kernel.php
	src/Symfony/Component/Security/Http/Firewall/AbstractPreAuthenticatedListener.php
	src/Symfony/Component/Validator/Resources/translations/validators.ja.xlf
2015-03-22 17:57:18 +01:00
Fabien Potencier
618b7dcfb8 Merge branch '2.3' into 2.6
* 2.3:
  Fix small coding style
  [2.3] Static Code Analysis for Components
  [Form] fixed phpdoc
  CS: Convert double quotes to single quotes
  Fixed MongoODM entity loader. Improved loading behavior of entities and documents by reusing entity loader.
  [Validator] added Japanese translation for unmatched charset (id: 80)
  [DependencyInjection] Highest precedence for user parameters
  [Translation][MoFileLoader] fixed load empty translation.
  bumped Symfony version to 2.3.27
  updated VERSION for 2.3.26
  update CONTRIBUTORS for 2.3.26
  updated CHANGELOG for 2.3.26

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Command/AssetsInstallCommand.php
	src/Symfony/Bundle/FrameworkBundle/Command/ContainerDebugCommand.php
	src/Symfony/Bundle/TwigBundle/Command/LintCommand.php
	src/Symfony/Component/Config/Definition/ReferenceDumper.php
	src/Symfony/Component/Debug/ExceptionHandler.php
	src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php
	src/Symfony/Component/DependencyInjection/Tests/Compiler/MergeExtensionConfigurationPassTest.php
	src/Symfony/Component/DependencyInjection/Tests/DefinitionTest.php
	src/Symfony/Component/Filesystem/Filesystem.php
	src/Symfony/Component/HttpKernel/DataCollector/DataCollector.php
	src/Symfony/Component/HttpKernel/Kernel.php
	src/Symfony/Component/Serializer/Encoder/XmlEncoder.php
	src/Symfony/Component/Translation/PluralizationRules.php
	src/Symfony/Component/Validator/Constraints/IssnValidator.php
	src/Symfony/Component/Validator/Resources/translations/validators.ja.xlf
	src/Symfony/Component/Yaml/Tests/InlineTest.php
2015-03-22 17:55:57 +01:00
Dariusz Ruminski
f99c22c08a CS: Convert double quotes to single quotes 2015-03-21 12:11:30 +01:00
Fabien Potencier
59ca5b3af9 Merge branch '2.6' into 2.7
* 2.6:
  Marked the ResolveParameterPlaceHoldersPassTest as legacy
  [ExpressionLanguage] fixed issues when parsing postfix expressions
  remove unused code
  do not inline service factories
  resolve class parameters in service factories
  [Serializer] Fix object normalization exceptions

Conflicts:
	src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services9_compiled.php
	src/Symfony/Component/Serializer/Normalizer/GetSetMethodNormalizer.php
	src/Symfony/Component/Serializer/Normalizer/PropertyNormalizer.php
	src/Symfony/Component/Serializer/Tests/Normalizer/PropertyNormalizerTest.php
2015-03-17 13:50:07 +01:00
Kévin Dunglas
500df475a6 [Serializer] Fix object normalization exceptions 2015-03-16 00:12:13 +01:00
Nicolas Grekas
eb728c5e4c [2.7] add @group legacy 2015-03-13 18:50:01 +01:00
sarah khalil
a818ab2fb1 Changed visibility of setUp() and tearDown to protected 2015-03-13 10:59:53 +01:00
Kévin Dunglas
0050bbb345 [Serializer] Introduce ObjectNormalizer 2015-03-06 11:52:53 +01:00
Kévin Dunglas
8534505db5 [Serializer] Refactoring of metadata 2015-03-06 11:33:18 +01:00
Kévin Dunglas
df0fe30896 [Serializer] Test that normalizers ignore non-existing attributes. 2015-03-03 09:32:43 +01:00
Nicolas Grekas
acac734d08 [PhpUnitBridge] new bridge for testing with PHPUnit 2015-02-18 11:38:04 +01:00
Fabien Potencier
7af0196d89 feature #13500 [Serializer] Normalizers can serialize collections and scalars (dunglas)
This PR was squashed before being merged into the 2.7 branch (closes #13500).

Discussion
----------

[Serializer] Normalizers can serialize collections and scalars

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| License       | MIT
| Doc PR       | n/a

Currently, the logic for serializing `array` and scalars is hardcoded in the serializer. This is not possible to have a custom serializer normalizing collections. This a big limitation, for instance it's not possible to create an normalizer creating [Hydra collections](http://www.hydra-cg.com/spec/latest/core/#h-collections) for a PHP array.

This PR fix that.

Commits
-------

1cf8eb2 [Serializer] Normalizers can serialize collections and scalars
2015-02-11 11:46:00 +01:00
Kévin Dunglas
1cf8eb2d85 [Serializer] Normalizers can serialize collections and scalars 2015-02-11 11:45:57 +01:00
Kévin Dunglas
8135843b70 [Serializer] Silent deprecation notice 2015-02-04 21:45:48 +01:00
Fabien Potencier
54e07c95dc minor #13580 [Serializer] Use autoloader for annotations in tests (dunglas)
This PR was merged into the 2.7 branch.

Discussion
----------

[Serializer] Use autoloader for annotations in tests

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| License       | MIT
| Doc PR        | n/a

Commits
-------

75e2ebf [Serializer] Use autoloader for annotations in tests
2015-02-04 13:46:41 +01:00
Kévin Dunglas
8ddc888f00 [Serializer] Use Serializer's LogicException when applicable 2015-02-03 23:38:39 +01:00
Kévin Dunglas
75e2ebfa30 [Serializer] Use autoloader for annotations in tests 2015-02-03 23:16:32 +01:00
Kévin Dunglas
e14854fe22 [Serializer] Name converter support 2015-01-25 20:53:10 +01:00
Fabien Potencier
37601dda2c feature #13252 [Serializer] Refactoring and object_to_populate support. (dunglas)
This PR was merged into the 2.7 branch.

Discussion
----------

[Serializer] Refactoring and object_to_populate support.

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| License       | MIT
| Doc PR        | n/a

This PR is mainly a refactoring. It move up the common code of `PorpertyNormalizer` and `GetSetMethodNormalizer` into `AbstractNormalizer`.

It also adds a news feature: the ability to use an existing object instance for denormalization:

```php
$dummy = new GetSetDummy();
$dummy->setFoo('foo');

$obj = $this->normalizer->denormalize(
    array('bar' => 'bar'),
    'GetSetDummy',
     null,
     array('object_to_populate' => $dummy)
);

// $obj and $dummy are references to the same object
```

Commits
-------

b5990be [Serializer] Refactoring and object_to_populate support.
2015-01-07 09:02:39 +01:00
Kévin Dunglas
fbc933596b [Serializer] Add circular reference handling to the PropertyNormalizer 2015-01-04 21:41:58 +01:00
Kévin Dunglas
b5990be491 [Serializer] Refactoring and object_to_populate support. 2015-01-04 21:11:42 +01:00
Kévin Dunglas
efd39cfa51 [Serializer] Fix XmlFileLoader test 2014-12-25 05:07:44 +01:00
Kévin Dunglas
57a191b3a9 [Serializer] Serialization groups support 2014-12-21 23:11:52 +01:00
Kévin Dunglas
37d3f84f1c [Serializer] Add xml_format_output context option. Close #12517. 2014-12-18 19:26:29 +01:00
Fabien Potencier
23eafccd4a Merge branch '2.5' into 2.6
* 2.5:
  Added information when an error occured during validation of an answer of a question
  [Console] fixes some typos and phpdoc.
  fix phpdoc's alignment
  Minor phpcs fixes
  [ClassLoader] Fix undefined index in ClassCollectionLoader
2014-12-08 09:43:24 +01:00
Fabien Potencier
7bb6f4445c Merge branch '2.3' into 2.5
* 2.3:
  fix phpdoc's alignment
  Minor phpcs fixes
  [ClassLoader] Fix undefined index in ClassCollectionLoader

Conflicts:
	src/Symfony/Component/Serializer/Encoder/XmlEncoder.php
2014-12-08 09:43:12 +01:00
Dariusz Rumiński
f588610722 fix phpdoc's alignment 2014-12-07 19:24:30 +01:00
Graham Campbell
2f10a0a704 [2.6] CS Fixes And Removed An Unused Import 2014-12-07 19:23:39 +01:00
Disquedur
ac1f2b76d6 Remove aligned '=>' and '=' 2014-11-04 15:29:39 +01:00