Commit Graph

38 Commits

Author SHA1 Message Date
Nicolas Grekas
16f8a13810 [Serializer] Generalize caching support a bit 2018-04-27 15:08:58 +02:00
Grégoire Pineau
2a35d09f53 [Serializer] Added a ConstraintViolationListNormalizer 2018-03-22 10:57:52 +01:00
James Sansbury
f6760d3899 [Serializer] Ignore comments when decoding XML 2018-03-22 08:38:21 +01:00
Kévin Dunglas
ed975c764b [Serializer] Add a MaxDepth handler 2018-02-19 21:26:22 +01:00
Nicolas Grekas
e81aa7694c Merge branch '4.0'
* 4.0:
  [YAML] Issue #26065: leading spaces in YAML multi-line string literals
  [Bridge\PhpUnit] Exit as late as possible
  [Bridge\PhpUnit] Cleanup BC layer
  [PhpBridge] add PHPUnit 7 support to SymfonyTestsListener
  [Lock] Log already-locked errors as "notice" instead of "warning"
  add context to serialize and deserialize
  Update Repository Symlink Helper
  isCsrfTokenValid() replace string  by ?string
  Document explicitly that dotfiles and vcs files are ignored by default
  [HttpKernel] don't try to wire Request argument with controller.service_arguments
  Make kernel build time optionally deterministic
  Use 0 for unlimited expiry
  [Routing] fix typo
  Bump default PHPUnit version from 6.3 to 6.5
  do not mock the container builder in tests
  [Cache][WebProfiler] fix collecting cache stats with sub-requests + allow clearing calls
2018-02-11 18:18:00 +01:00
Nicolas Grekas
6e34963b3d Merge branch '3.4' into 4.0
* 3.4:
  [YAML] Issue #26065: leading spaces in YAML multi-line string literals
  [Bridge\PhpUnit] Exit as late as possible
  [Bridge\PhpUnit] Cleanup BC layer
  [PhpBridge] add PHPUnit 7 support to SymfonyTestsListener
  [Lock] Log already-locked errors as "notice" instead of "warning"
  add context to serialize and deserialize
  Update Repository Symlink Helper
  Document explicitly that dotfiles and vcs files are ignored by default
  [HttpKernel] don't try to wire Request argument with controller.service_arguments
  Make kernel build time optionally deterministic
  Use 0 for unlimited expiry
  [Routing] fix typo
  Bump default PHPUnit version from 6.3 to 6.5
  do not mock the container builder in tests
  [Cache][WebProfiler] fix collecting cache stats with sub-requests + allow clearing calls
2018-02-11 18:17:44 +01:00
andrey1s
6f8d5e263e add context to serialize and deserialize 2018-02-11 12:21:52 +01:00
Mathieu Santostefano
a1b0bdbbac
Fix security issue on CsvEncoder 2018-02-06 11:21:01 +01:00
Maxime Veber
1523a85542 [Serializer] context option for denormalization 2018-01-19 13:05:41 +01:00
Maxime Steinhausser
c88158a6da Merge branch '3.4'
* 3.4:
  fixed CS
  [Serializer] Add Support for  in CustomNormalizer
  Remove Validator\TypeTestCase and add validator logic to base TypeTestCase
  [Lock] Include lock component in framework bundle
  [WebProfilerBundle] Render file links for twig templates
  CsvEncoder handling variable structures and custom header order
  Saltless Encoder Interface
  [Serializer] throw more specific exceptions

# Conflicts:
#	src/Symfony/Bundle/FrameworkBundle/composer.json
#	src/Symfony/Bundle/SecurityBundle/Command/UserPasswordEncoderCommand.php
#	src/Symfony/Component/Serializer/Encoder/XmlEncoder.php
#	src/Symfony/Component/Serializer/Normalizer/AbstractNormalizer.php
#	src/Symfony/Component/Serializer/Serializer.php
2017-09-27 20:38:05 +02:00
Fabien Potencier
65872e8c3a feature #24256 CsvEncoder handling variable structures and custom header order (Oliver Hoff)
This PR was squashed before being merged into the 3.4 branch (closes #24256).

Discussion
----------

CsvEncoder handling variable structures and custom header order

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

This PR improves the CsvEncoder to handle variable nesting structures and adds a context option that allows custom csv header order.

Commits
-------

d173494e48 CsvEncoder handling variable structures and custom header order
2017-09-27 07:20:06 -07:00
Oliver Hoff
d173494e48 CsvEncoder handling variable structures and custom header order 2017-09-27 07:19:39 -07:00
Maxime Steinhausser
3640585bfd Merge branch '3.4'
* 3.4:
  use the parseFile() method of the YAML parser
  [Yaml] support parsing files
  Adding Definition::addError() and a compiler pass to throw errors as exceptions
  [DI] Add AutowireRequiredMethodsPass to fix bindings for `@required` methods
  [Cache] Add ResettableInterface to allow resetting any pool's local state
  [DI][DX] Throw exception on some ContainerBuilder methods used from extensions
  added missing @author tag for new class
  allow forms without translations and validator
  [VarDumper] Make `dump()` a little bit more easier to use
  [Form] Add ambiguous & exception debug:form tests
  Reset the authentication token between requests.
  [Serializer] Getter for extra attributes in ExtraAttributesException
  [DI] Dont use JSON_BIGINT_AS_STRING

# Conflicts:
#	src/Symfony/Component/Routing/composer.json
#	src/Symfony/Component/Translation/composer.json
#	src/Symfony/Component/Yaml/Inline.php
#	src/Symfony/Component/Yaml/Tests/ParserTest.php
#	src/Symfony/Component/Yaml/Yaml.php
2017-09-26 08:12:47 +02:00
Maarten de Boer
cb935e789e [Serializer] Getter for extra attributes in ExtraAttributesException 2017-09-22 15:07:13 +02:00
Fabien Potencier
7c160a176c Merge branch '3.4'
* 3.4:
  Display form defaults on debug:form
  [Serializer][FrameworkBundle] Add a DateInterval normalizer
  fix merge
  CS: recover no_break_comment
  [DI] Fix non-instantiables auto-discovery
2017-09-15 10:31:55 -07:00
Jérôme Parmentier
6185cb1991 [Serializer][FrameworkBundle] Add a DateInterval normalizer 2017-09-15 18:08:37 +02:00
Nicolas Grekas
9290042d0a Merge branch '3.4'
* 3.4:
  fix merge
  fix merge
  [Serializer] AbstractObjectNormalizer: Allow to disable type enforcement
2017-07-12 16:42:58 +02:00
Maxime Steinhausser
959ac2a6b2 [Serializer] AbstractObjectNormalizer: Allow to disable type enforcement 2017-07-05 11:31:02 +02:00
Christian Flothmann
22f6091bc7 Merge branch '3.4'
* 3.4: (83 commits)
  add missing version attribute
  Show exception is checked twice in ExceptionController of twig
  allow SSI fragments configuration in XML files
  Display a better error message when the toolbar cannot be displayed
  [SecurityBundle] Add user impersonation info and exit action to the profiler
  render hidden _method field in form_rest()
  Add Doctrine Cache to dev dependencies to fix failing unit tests.
  return fallback locales whenever possible
  Fix Predis client cluster with pipeline
  [Dotenv] Test load() with multiple paths
  [Console] Fix catching exception type in QuestionHelper
  Improved the exception page when there is no message
  [WebProfilerBundle] Eliminate line wrap on count columnt (routing)
  [Profiler][Validator] Add a validator panel in profiler
  [Validator] replace hardcoded service id
  [Routing] Fix XmlFileLoader exception message
  Remove duplicate changelog entries
  [DI] Dedup tags when using instanceof/autoconfigure
  [Translation] Fix FileLoader::loadResource() php doc
  [Serializer] Fix workaround min php version
  ...
2017-06-24 14:58:08 +02:00
RJ Garcia
8f6e67d319 XML Encoder Optional Type Cast
- This provides the ability to forgo the attribute type casting
- Updated the CHANGELOG

Signed-off-by: RJ Garcia <rj@bighead.net>
2017-06-16 11:28:02 -07:00
Kévin Dunglas
894f99bfe5
[Serializer] Remove support for deprecated signatures 2017-05-29 11:20:05 +02:00
Christian Flothmann
8425f1b748 [Serializer] remove remaining deprecated features 2017-05-25 11:28:34 +02:00
Robin Chalas
95cf5084c0 [FrameworkBundle][Serializer] Move SerializerPass to the Serializer 2017-01-25 13:54:53 +01:00
Kévin Dunglas
5194482ed5 [Serializer] Integrate the PropertyInfo Component
Recursive denormalization handling and hardening.
2016-04-19 17:00:22 +02:00
Christian Flothmann
a9a26e3736 [Serializer] sync changelog file 2016-03-13 22:40:48 +01:00
Fred Cox
a6788813fa Add a normalizer that support JsonSerializable objects
Handles circular references
2016-02-25 21:06:29 +02:00
Kévin Dunglas
0050bbb345 [Serializer] Introduce ObjectNormalizer 2015-03-06 11:52:53 +01:00
Nicolas Grekas
c6bf1dec2e [Serializer] rename exception interface 2015-03-02 10:36:49 +01:00
Kévin Dunglas
86b84a573b [Serializer] Update changelog 2015-02-02 23:11:58 +01:00
Fabien Potencier
cc04ce15c0 feature #9708 [Serializer] PropertyNormalizer: a new normalizer that maps an object's properties to an array (mnapoli)
This PR was merged into the 2.6-dev branch.

Discussion
----------

[Serializer] PropertyNormalizer: a new normalizer that maps an object's properties to an array

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets |
| License       | MIT
| Doc PR        | if PR is deemed mergeable, I'll write the docs

This PR adds a new Normalizer for the Serializer component: **`PropertyNormalizer`**.

Currently the only normalizer is `GetSetMethodNormalizer`, which calls getters and setters. This new serializer uses the properties values directly.

This is especially useful if you write a webservice and take/return very simple DTO (Data Transfer Objects) which role is only to act like a "named" `stdClass`. Every property is public (the class doesn't contain any logic), and mapping that to an array is pretty easy.

This normalizer takes into account public, but also *private* and *protected* properties.

FYI I've based most of the code of `GetSetMethodNormalizer`.

Commits
-------

78ceed1 [Serializer] Added PropertyNormalizer, a new normalizer that maps an object's properties to an array
2014-09-24 16:31:38 +02:00
Marcin Chwedziak
480219f1d3 [Serializer] added support for is.* methods in GetSetMethodNormalizer 2014-03-03 16:52:29 +01:00
Rodrigo Díez Villamuera
6d9f0be0a0 Json encoder classes now throws UnexpectedValueException as XML classes 2013-12-28 13:14:12 +01:00
Matthieu Napoli
78ceed193f [Serializer] Added PropertyNormalizer, a new normalizer that maps an object's properties to an array 2013-12-10 17:57:13 +01:00
Benjamin Lévêque
5c27d7e078 [Serializer] Add the missing context support inside the XmlEncoder 2013-08-02 16:53:16 +02:00
Fabien Potencier
69dbbdda3d added missing entries in CHANGELOGs 2013-03-23 10:10:35 +01:00
Fabien Potencier
6923a484c2 fixed markup 2013-01-19 08:50:02 +01:00
Benjamin Eberlei
fcabadfc23 Fix JsonDecode to work on PHP 5.3, update the CHANGELOG.md 2013-01-19 00:06:48 +01:00
Fabien Potencier
4d166087d9 [Serializer] added CHANGELOG 2012-04-26 21:28:47 +02:00