services.xml 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <container xmlns="http://symfony.com/schema/dic/services"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
  5. <parameters>
  6. <parameter key="jms_serializer.metadata.driver.annotation_driver.class">JMS\SerializerBundle\Metadata\Driver\AnnotationDriver</parameter>
  7. <parameter key="jms_serializer.metadata.metadata_factory.class">Metadata\MetadataFactory</parameter>
  8. <parameter key="jms_serializer.metadata.cache.file_cache.class">Metadata\Cache\FileCache</parameter>
  9. <parameter key="jms_serializer.camel_case_naming_strategy.class">JMS\SerializerBundle\Serializer\Naming\CamelCaseNamingStrategy</parameter>
  10. <parameter key="jms_serializer.serialized_name_annotation_strategy.class">JMS\SerializerBundle\Serializer\Naming\SerializedNameAnnotationStrategy</parameter>
  11. <parameter key="jms_serializer.xml_encoder.class">JMS\SerializerBundle\Serializer\Encoder\XmlEncoder</parameter>
  12. <parameter key="jms_serializer.json_encoder.class">JMS\SerializerBundle\Serializer\Encoder\JsonEncoder</parameter>
  13. <parameter key="jms_serializer.native_php_type_normalizer.class">JMS\SerializerBundle\Serializer\Normalizer\NativePhpTypeNormalizer</parameter>
  14. <parameter key="jms_serializer.property_based_normalizer.class">JMS\SerializerBundle\Serializer\Normalizer\PropertyBasedNormalizer</parameter>
  15. <parameter key="jms_serializer.array_collection_normalizer.class">JMS\SerializerBundle\Serializer\Normalizer\ArrayCollectionNormalizer</parameter>
  16. <parameter key="jms_serializer.normalizable_object_normalizer.class">JMS\SerializerBundle\Serializer\Normalizer\NormalizableObjectNormalizer</parameter>
  17. <parameter key="jms_serializer.unserialize_instance_creator.class">JMS\SerializerBundle\Serializer\UnserializeInstanceCreator</parameter>
  18. <parameter key="jms_serializer.version_exclusion_strategy.class">JMS\SerializerBundle\Serializer\Exclusion\VersionExclusionStrategy</parameter>
  19. <parameter key="jms_serializer.all_exclusion_strategy.class">JMS\SerializerBundle\Serializer\Exclusion\AllExclusionStrategy</parameter>
  20. <parameter key="jms_serializer.none_exclusion_strategy.class">JMS\SerializerBundle\Serializer\Exclusion\NoneExclusionStrategy</parameter>
  21. <parameter key="jms_serializer.disjunct_exclusion_strategy.class">JMS\SerializerBundle\Serializer\Exclusion\DisjunctExclusionStrategy</parameter>
  22. <parameter key="jms_serializer.exclusion_strategy_factory.class">JMS\SerializerBundle\Serializer\Exclusion\ExclusionStrategyFactory</parameter>
  23. <parameter key="jms_serializer.serializer_factory.class">JMS\SerializerBundle\Serializer\SerializerFactory</parameter>
  24. <parameter key="jms_serializer.serializer.class">JMS\SerializerBundle\Serializer\LazyLoadingSerializer</parameter>
  25. </parameters>
  26. <services>
  27. <!-- Metadata Drivers -->
  28. <service id="jms_serializer.metadata.driver.annotation_driver" class="%jms_serializer.metadata.driver.annotation_driver.class%" public="false">
  29. <argument type="service" id="annotation_reader" />
  30. </service>
  31. <service id="jms_serializer.metadata_driver" alias="jms_serializer.metadata.driver.annotation_driver" public="false" />
  32. <!-- Metadata Factory -->
  33. <service id="jms_serializer.metadata.cache.file_cache" class="%jms_serializer.metadata.cache.file_cache.class%" public="false">
  34. <argument /><!-- Directory -->
  35. </service>
  36. <service id="jms_serializer.metadata.cache" alias="jms_serializer.metadata.cache.file_cache" public="false" />
  37. <service id="jms_serializer.metadata.metadata_factory" class="%jms_serializer.metadata.metadata_factory.class%" public="false">
  38. <argument type="service" id="jms_serializer.metadata_driver" />
  39. <argument>Metadata\ClassHierarchyMetadata</argument>
  40. <argument />
  41. <call method="setCache">
  42. <argument type="service" id="jms_serializer.metadata.cache" on-invalid="ignore" />
  43. </call>
  44. </service>
  45. <!-- Exclusion Strategies -->
  46. <service id="jms_serializer.version_exclusion_strategy"
  47. class="%jms_serializer.version_exclusion_strategy.class%"
  48. public="false"
  49. abstract="true" />
  50. <service id="jms_serializer.disjunct_exclusion_strategy"
  51. class="%jms_serializer.disjunct_exclusion_strategy.class%"
  52. public="false"
  53. abstract="true" />
  54. <service id="jms_serializer.all_exclusion_strategy"
  55. class="%jms_serializer.all_exclusion_strategy.class%"
  56. public="false">
  57. </service>
  58. <service id="jms_serializer.none_exclusion_strategy"
  59. class="%jms_serializer.none_exclusion_strategy.class%"
  60. public="false">
  61. </service>
  62. <!-- Exclusion Strategy Factories -->
  63. <service id="jms_serializer.exclusion_strategy_factory"
  64. class="%jms_serializer.exclusion_strategy_factory.class%"
  65. public="false"
  66. abstract="true" />
  67. <service id="jms_serializer.default_exclusion_strategy_factory"
  68. parent="jms_serializer.exclusion_strategy_factory">
  69. <argument type="collection">
  70. <argument key="ALL" type="service" id="jms_serializer.all_exclusion_strategy" />
  71. <argument key="NONE" type="service" id="jms_serializer.none_exclusion_strategy" />
  72. </argument>
  73. </service>
  74. <!-- Naming Strategies -->
  75. <service id="jms_serializer.camel_case_naming_strategy" class="%jms_serializer.camel_case_naming_strategy.class%" public="false" />
  76. <service id="jms_serializer.serialized_name_annotation_strategy" class="%jms_serializer.serialized_name_annotation_strategy.class%" public="false">
  77. <argument type="service" id="jms_serializer.camel_case_naming_strategy" />
  78. </service>
  79. <service id="jms_serializer.naming_strategy" alias="jms_serializer.serialized_name_annotation_strategy" public="false" />
  80. <!-- Instance Creators -->
  81. <service id="jms_serializer.unserialize_instance_creator" class="%jms_serializer.unserialize_instance_creator.class%" public="false" />
  82. <service id="jms_serializer.instance_creator" alias="jms_serializer.unserialize_instance_creator" public="false" />
  83. <!-- Normalizers -->
  84. <service id="jms_serializer.native_php_type_normalizer"
  85. class="%jms_serializer.native_php_type_normalizer.class%"
  86. scope="prototype"
  87. public="false" />
  88. <service id="jms_serializer.property_based_normalizer"
  89. class="%jms_serializer.property_based_normalizer.class%"
  90. public="false">
  91. <argument type="service" id="jms_serializer.metadata.metadata_factory" />
  92. <argument type="service" id="jms_serializer.naming_strategy" />
  93. <argument type="service" id="jms_serializer.instance_creator" />
  94. </service>
  95. <service id="jms_serializer.array_collection_normalizer"
  96. class="%jms_serializer.array_collection_normalizer.class%"
  97. scope="prototype"
  98. public="false" />
  99. <service id="jms_serializer.normalizable_object_normalizer"
  100. class="%jms_serializer.normalizable_object_normalizer.class%"
  101. public="false"
  102. scope="prototype">
  103. <argument type="service" id="jms_serializer.instance_creator" />
  104. </service>
  105. <service id="jms_serializer.default_normalizer"
  106. parent="jms_serializer.property_based_normalizer">
  107. <argument type="service" id="jms_serializer.default_exclusion_strategy_factory" />
  108. </service>
  109. <!-- Encoders -->
  110. <service id="jms_serializer.xml_encoder" class="%jms_serializer.xml_encoder.class%">
  111. <tag name="jms_serializer.encoder" format="xml" />
  112. </service>
  113. <service id="jms_serializer.json_encoder" class="%jms_serializer.json_encoder.class%">
  114. <tag name="jms_serializer.encoder" format="json" />
  115. </service>
  116. <!-- Serializers -->
  117. <service id="jms_serializer.serializer"
  118. class="%jms_serializer.serializer.class%"
  119. abstract="true">
  120. <argument type="service" id="jms_serializer.native_php_type_normalizer" strict="false" />
  121. <call method="setContainer">
  122. <argument type="service" id="service_container" />
  123. </call>
  124. </service>
  125. <service id="serializer" parent="jms_serializer.serializer">
  126. <argument type="service" id="jms_serializer.default_normalizer" />
  127. <tag name="jms_serializer.serializer" />
  128. </service>
  129. <!-- Serializer Factory -->
  130. <service id="jms_serializer.serializer_factory"
  131. class="%jms_serializer.serializer_factory.class%"
  132. public="false">
  133. <argument type="service" id="service_container" />
  134. </service>
  135. <service id="serializer_factory" alias="jms_serializer.serializer_factory" />
  136. </services>
  137. </container>