This repository has been archived on 2023-08-20. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
Grégoire Pineau 29c7bfa7d6 feature #39020 [PropertyInfo] Support multiple types for collection keys & values (Korbeil)
This PR was merged into the 5.3-dev branch.

Discussion
----------

[PropertyInfo] Support multiple types for collection keys & values

| Q             | A
| ------------- | ---
| Branch?       | 5.x
| Bug fix?      | no
| New feature?  | yes
| Deprecations? | yes
| Tickets       | #38093
| License       | MIT
| Doc PR        | N/A

This PR is here to introduce multiple types for collection keys & values.
Today, we support types as following: `A|B|C` thanks to `getTypes` interface (in extractors) but we do not support union types in collection keys or values, such as `array<A|B|C>`. This PR will allow this.
In a next PR, we'll introduce an Extractor that will parse phpDoc in order to have union types in collection keys or values.

I tried to introduce as few depreciations as possible, we have only 2 of them here:
- `Type::getCollectionKeyType`
- `Type::getCollectionValueType`

Commits
-------

84dd1784cb Support multiple types for collection keys & values
2020-12-31 10:49:36 +01:00
.github Merge branch '5.2' into 5.x 2020-12-22 16:49:23 +01:00
src/Symfony Support multiple types for collection keys & values 2020-12-31 10:27:19 +01:00
.appveyor.yml Merge branch '4.4' into 5.1 2020-11-02 16:45:32 +01:00
.editorconfig Update .editorconfig 2018-09-06 16:22:56 +02:00
.gitignore Run the phpunit-bridge from a PR 2019-08-02 17:46:19 +02:00
.php_cs.dist Merge branch '5.1' into 5.2 2020-12-27 14:15:00 +01:00
.travis.yml Merge branch '4.4' into 5.1 2020-12-23 16:26:14 +01:00
CHANGELOG-5.0.md Merge branch '5.0' into 5.1 2020-06-15 13:50:15 +02:00
CHANGELOG-5.1.md Update CHANGELOG for 5.1.10 2020-12-18 14:43:18 +01:00
CHANGELOG-5.2.md Update CHANGELOG for 5.2.1 2020-12-18 14:49:30 +01:00
CODE_OF_CONDUCT.md Added the Code of Conduct file 2018-10-10 03:13:30 -07:00
composer.json Merge branch '5.2' into 5.x 2020-12-23 16:46:09 +01:00
CONTRIBUTING.md Mention the community review guide 2016-12-18 22:02:35 +01:00
CONTRIBUTORS.md Update CONTRIBUTORS for 4.4.18 2020-12-18 14:32:28 +01:00
LICENSE Update year in license files 2020-01-01 12:03:25 +01:00
link Merge branch '5.1' into 5.2 2020-12-10 20:16:15 +01:00
phpunit Added compatibility with PHPunit 9.5 2020-12-05 16:15:30 +01:00
phpunit.xml.dist Merge branch '4.4' into 5.1 2020-11-16 16:58:32 +01:00
README.md Minor improvement 2020-07-29 07:57:47 +02:00
UPGRADE-5.0.md Merge branch '4.4' into 5.1 2020-12-10 18:44:54 +01:00
UPGRADE-5.1.md Update UPGRADE-5.1.md 2020-09-07 01:58:27 +02:00
UPGRADE-5.2.md [HttpFoundation] Deprecate BinaryFileResponse::create(). 2020-11-20 16:47:02 +01:00
UPGRADE-5.3.md Support multiple types for collection keys & values 2020-12-31 10:27:19 +01:00
UPGRADE-6.0.md Allow env variables in json_manifest_path 2020-12-14 16:38:41 +01:00

Symfony is a PHP framework for web and console applications and a set of reusable PHP components. Symfony is used by thousands of web applications (including BlaBlaCar.com and Spotify.com) and most of the popular PHP projects (including Drupal and Magento).

Installation

Documentation

Community

Contributing

Symfony is an Open Source, community-driven project with thousands of contributors. Join them contributing code or contributing documentation.

Security Issues

If you discover a security vulnerability within Symfony, please follow our disclosure procedure.

About Us

Symfony development is sponsored by SensioLabs, led by the Symfony Core Team and supported by Symfony contributors.