Commit Graph

414 Commits

Author SHA1 Message Date
Jan Schädlich
e069dc4eda [Config] Add type-hints to public interfaces and classes 2019-06-29 08:48:44 +02:00
Tobias Schultze
18793b7ca7 feature #31996 [5.0] Add return types in final classes (dFayet)
This PR was merged into the 5.0-dev branch.

Discussion
----------

[5.0] Add return types in final classes

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes/no <!-- please update src/**/CHANGELOG.md files -->
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | no
| Fixed tickets | #31981
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!-- required for new features -->

This is the first step for the issue #31981

I have some questions:

-  ~I have not added type for methods with `@inheritdoc` annotation, should I?~
- ~Don't we want to type also functions without `@return` annotation? (still in `final` classes)~
- ~If yes is the answer of the previous one, do we also want the `void` return type?~
- ~I have also added the return type in the `DependencyInjection` PhpDumper, but is it also wanted? (if yes, I will clean a bit the code changed)~
- ~Should we update the documentation's code samples when they display `final` classes?~

Todo:
- [x] Adjust the PR, following the answers of the questions
- [x] Add return type also when there is no `@return`, or with `@inheritdoc`
- [x] [src/Symfony/Component/Debug/ErrorHandler.php#L383](https://github.com/symfony/symfony/blob/master/src/Symfony/Component/Debug/ErrorHandler.php#L383) `@return` annotation is not correct according to the return, investigate and adjust if needed
- [x] [src/Symfony/Component/HttpKernel/ControllerMetadata/ArgumentMetadataFactory.php#L50](https://github.com/symfony/symfony/blob/master/src/Symfony/Component/HttpKernel/ControllerMetadata/ArgumentMetadataFactory.php#L50) `@return` annotation is not correct according to the return, investigate and adjust if needed
- [x] Do a PR on documentation to add return type on code snippets with final classes => unneeded as they were already typed

Commits
-------

ca5ae1989e Replace @return annotation by return type in final classes
2019-06-23 23:15:46 +01:00
dFayet
ca5ae1989e Replace @return annotation by return type in final classes 2019-06-23 00:57:33 +02:00
Nicolas Grekas
6f21ccf323 Merge branch '4.4'
* 4.4:
  Fix PDO prune not called
  Fix Expiring lock in PDO and ZooKeeper
  Add BC layer for updated constructor types
  [Lock] fix bad merge
2019-06-17 21:45:49 +02:00
Nicolas Grekas
c34fcd91d1 Add BC layer for updated constructor types 2019-06-17 20:49:26 +02:00
Nicolas Grekas
fa29a56683 Merge branch '4.4'
* 4.4:
  [Cache] replace getNsSeparator by NS_SEPARATOR on AbstractTrait
  [Cache] fix versioning with SimpleCacheAdapter
  [Messenger] fix AMQP delay queue to be per exchange
  Fix expired lock not cleaned
  Fine tune constructor types
  [HttpClient] throw DecodingExceptionInterface when toArray() fails because of content-type error
  [HttpFoundation] Fix SA/phpdoc JsonResponse
  [DI] Show the right class autowired when providing a non-existing class in constructor
  SimpleCacheAdapter fails to cache any item if a namespace is used
  validate composite constraints in all groups
  [Serializer] Handle true and false appropriately in CSV encoder
  [Messenger] improve logs
  [Messenger] fix delay delivery for non-fanout exchanges
  Parameterize Mailgun's region
  Fix binary operation `+`, `-` or `*` on string
  [VarDumper] fix dumping objects that implement __debugInfo()
  [HttpClient] Don't use CurlHttpClient on Windows when curl.cainfo is not set
  Add statement to fileLink to ignore href code when no fileLink.
  [Routing] fix absolute url generation when scheme is not known
2019-06-17 19:43:54 +02:00
Nicolas Grekas
ac7d168ffa Merge branch '4.4'
* 4.4:
  [PhpUnitBridge] Bump PHPUnit 7+8
  Prepare for PHP 7.4 preload
  prevent double deprecation message
  [Validator] Deprecate unused arg in ExpressionValidator
  [Config] Introduce find method in ArrayNodeDefinition to ease configuration tree manipulation
  [DomCrawler][Feature][DX] Add Form::getName() method
  [VarDumper] caster for HttpClient's response dumps all info
2019-06-17 13:53:04 +02:00
Tobias Schultze
507794a575 Fine tune constructor types 2019-06-17 02:42:58 +01:00
Jan Schädlich
e3b248aee0 [Config] Introduce find method in ArrayNodeDefinition to ease configuration tree manipulation 2019-06-14 09:59:12 +02:00
Nicolas Grekas
39622488bb Remove deprecated code paths that trigger a runtime notice 2019-06-09 16:44:48 +02:00
Roland Franssen
ec27d7486d [Config] Removed env var support with cannotBeEmpty() 2019-06-08 13:07:59 +02:00
Nicolas Grekas
ccbe132d3b Remove various legacy code paths 2019-06-08 10:28:16 +02:00
Nicolas Grekas
b5306d2e81 Merge branch '4.2' into 4.3
* 4.2:
  [DI] Fix suspicious test
  [SecurityBundle] add missing contraint for symfony/config dep
2019-06-08 08:33:08 +02:00
Roland Franssen
25b961aadc [DI] Fix suspicious test 2019-06-08 08:01:32 +02:00
Roland Franssen
98c25dd340 [DI][5.0] Fix suspicious test 2019-06-07 22:46:17 +02:00
Amrouche Hamza
7c66e6f1c4
[Config] remove the root method and the nullable name 2019-06-07 16:01:26 +02:00
Gregor Harlan
ff6bc79eba
Deprecate TreeBuilder::root 2019-04-09 12:34:11 +02:00
Fabien Potencier
f527acfac7 Merge branch '4.2'
* 4.2: (45 commits)
  [Form] various minor fixes
  Ensure the parent process is always killed
  bugfix: the terminal state was wrong and not reseted
  [Console] Fix inconsistent result for choice questions in non-interactive mode
  Define null return type for Constraint::getDefaultOption()
  [Routing] Fix: annotation loader ignores method's default values
  [HttpKernel] Fix DebugHandlersListener constructor docblock
  Skip Glob brace test when GLOB_BRACE is unavailable
  bumped Symfony version to 4.2.6
  updated VERSION for 4.2.5
  updated CHANGELOG for 4.2.5
  bumped Symfony version to 3.4.25
  updated VERSION for 3.4.24
  update CONTRIBUTORS for 3.4.24
  updated CHANGELOG for 3.4.24
  [EventDispatcher] cleanup
  fix testIgnoredAttributesInContext
  Re-generate icu 64.1 data
  Improve PHPdoc / IDE autocomplete for config tree builder
  [Bridge][Twig] DebugCommand - fix escaping and filter
  ...
2019-04-06 16:04:46 +02:00
Konstantin Myakshin
21f797714e
Improve PHPdoc / IDE autocomplete for config tree builder 2019-04-01 17:03:25 +03:00
Nicolas Grekas
a0c566504c Merge branch '4.2'
* 4.2: (26 commits)
  Apply php-cs-fixer rule for array_key_exists()
  [Cache] fix warming up cache.system and apcu
  [Security] Change FormAuthenticator if condition
  handles multi-byte characters in autocomplete
  speed up tests running them without debug flag
  [Translations] added missing Croatian validators
  Fix getItems() performance issue with RedisCluster (php-redis)
  [VarDumper] Keep a ref to objects to ensure their handle cannot be reused while cloning
  IntegerType: reject submitted non-integer numbers
  be keen to newcomers
  [HttpKernel] Fix possible infinite loop of exceptions
  fixed CS
  [Validator] Added missing translations for Afrikaans
  do not validate non-submitted form fields in PATCH requests
  Update usage example in ArrayInput doc block.
  [Console] Prevent ArgvInput::getFirstArgument() from returning an option value
  [Validator] Fixed duplicate UUID
  fixed CS
  [EventDispatcher] Fix unknown priority
  Avoid mutating the Finder when building the iterator
  ...
2019-02-23 16:22:31 +01:00
Nicolas Grekas
87f3c36d60 Merge branch '3.4' into 4.2
* 3.4: (24 commits)
  Apply php-cs-fixer rule for array_key_exists()
  [Security] Change FormAuthenticator if condition
  handles multi-byte characters in autocomplete
  speed up tests running them without debug flag
  [Translations] added missing Croatian validators
  Fix getItems() performance issue with RedisCluster (php-redis)
  [VarDumper] Keep a ref to objects to ensure their handle cannot be reused while cloning
  IntegerType: reject submitted non-integer numbers
  be keen to newcomers
  [HttpKernel] Fix possible infinite loop of exceptions
  fixed CS
  [Validator] Added missing translations for Afrikaans
  do not validate non-submitted form fields in PATCH requests
  Update usage example in ArrayInput doc block.
  [Console] Prevent ArgvInput::getFirstArgument() from returning an option value
  [Validator] Fixed duplicate UUID
  fixed CS
  [EventDispatcher] Fix unknown priority
  Avoid mutating the Finder when building the iterator
  [Validator] Add the missing translations for the Greek (el) locale
  ...
2019-02-23 16:17:42 +01:00
Nicolas Grekas
b0a3208588 Apply php-cs-fixer rule for array_key_exists() 2019-02-23 16:06:07 +01:00
Oskar Stark
c008ee046a be keen to newcomers 2019-02-22 15:44:53 +01:00
Fabien Potencier
51a359c079 Merge branch '4.2' into short-array-master
* 4.2:
  fixed CS
  fixed CS
  fixed tests
  fixed CS
  fixed CS
  fixed CS
  fixed short array CS in comments
  fixed CS in ExpressionLanguage fixtures
  fixed CS in generated files
  fixed CS on generated container files
  fixed CS on Form PHP templates
  fixed CS on YAML fixtures
  fixed fixtures
  switched array() to []
2019-01-16 22:53:39 +01:00
Fabien Potencier
d2098d7e5d fixed CS 2019-01-16 21:35:37 +01:00
Fabien Potencier
c0323bd24b Merge branch '4.1' into 4.2
* 4.1:
  fixed tests
  fixed CS
  fixed CS
  fixed CS
  fixed short array CS in comments
  fixed CS in ExpressionLanguage fixtures
  fixed CS in generated files
  fixed CS on generated container files
  fixed CS on Form PHP templates
  fixed CS on YAML fixtures
  fixed fixtures
  switched array() to []
2019-01-16 21:31:39 +01:00
Fabien Potencier
d58b5c3b76 fixed CS 2019-01-16 19:35:49 +01:00
Fabien Potencier
572864b223 Merge branch '3.4' into 4.1
* 3.4:
  fixed CS
  fixed short array CS in comments
  fixed CS in ExpressionLanguage fixtures
  fixed CS in generated files
  fixed CS on generated container files
  fixed CS on Form PHP templates
  fixed CS on YAML fixtures
  fixed fixtures
  switched array() to []
2019-01-16 19:21:11 +01:00
Fabien Potencier
1429267f9c fixed short array CS in comments 2019-01-16 14:27:11 +01:00
Fabien Potencier
33a001e460 switched array() to [] 2019-01-16 10:39:14 +01:00
Roland Franssen
ce6ecaf862 Add upgrade from 4.2 to 4.3 2018-12-01 10:28:23 +01:00
Nicolas Grekas
e6954494af feature #28858 [DI] Deprecated using env vars with cannotBeEmpty() (ro0NL)
This PR was squashed before being merged into the 4.3-dev branch (closes #28858).

Discussion
----------

[DI] Deprecated using env vars with cannotBeEmpty()

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | yes-ish
| New feature?  | yes
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | yes
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | #28827
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!-- required for new features -->

Continuation of #28838 for 4.2

Using environment variables for nodes marked `cannotBeEmpty()` is semantically not possible, we'll never know the value is empty yes/no during compile time. Neither we should assume one or another.

Commits
-------

397c19ee5f [DI] Deprecated using env vars with cannotBeEmpty()
2018-12-01 10:04:06 +01:00
Roland Franssen
397c19ee5f [DI] Deprecated using env vars with cannotBeEmpty() 2018-12-01 10:03:58 +01:00
Nicolas Grekas
2261e72896 Merge branch '4.1'
* 4.1: (23 commits)
  [Routing] fix trailing slash redirection when using RedirectableUrlMatcher
  [PropertyAccessor] fix encoding of cache keys
  [WebProfiler] Detect empty file paths in file viewer
  fixed CS
  Changes for upcoming Travis' infra migration
  Doc fix: clarify isMethodCacheable() returns true only for GET & HEAD
  [MonologBridge] Return empty list for unknonwn requests
  [DomCrawler] exclude fields inside "template" tags
  Use XLIFF source rather than resname when there's no target
  [DoctrineBridge] catch errors while converting to db values in data collector
  [DoctrineBridge] fix case sensitivity issue in RememberMe\DoctrineTokenProvider
  [EventDispatcher] Unwrap wrapped listeners internally
  [Routing] fix trailing slash redirection when using RedirectableUrlMatcher
  Removed the return type phpdoc
  fix authorization checker variable name
  [Routing] Remove duplicate schemes and methods for invokable controllers
  Indentation error
  [HttpFoundation] Fix trailing space for mime-type with parameters
  [HttpFoundation] Fixed absolute Request URI with default port
  [Bridge/PhpUnit] fix the fix
  ...
2018-11-26 11:55:26 +01:00
Nicolas Grekas
9dc9d7e0b7 Merge branch '3.4' into 4.1
* 3.4:
  [Routing] fix trailing slash redirection when using RedirectableUrlMatcher
  [PropertyAccessor] fix encoding of cache keys
  [WebProfiler] Detect empty file paths in file viewer
  fixed CS
  Changes for upcoming Travis' infra migration
  Doc fix: clarify isMethodCacheable() returns true only for GET & HEAD
  [DomCrawler] exclude fields inside "template" tags
  Use XLIFF source rather than resname when there's no target
  [DoctrineBridge] catch errors while converting to db values in data collector
  [DoctrineBridge] fix case sensitivity issue in RememberMe\DoctrineTokenProvider
  [EventDispatcher] Unwrap wrapped listeners internally
  Indentation error
  [HttpFoundation] Fix trailing space for mime-type with parameters
  [HttpFoundation] Fixed absolute Request URI with default port
  properly parse backslashes in unquoted env vars
  Use intersection type when referring to ParentNodeDefinitionInterface
  [BrowserKit] fixed BC Break for HTTP_HOST header; implemented same behaviour for HTTPS server parameter
2018-11-26 11:26:29 +01:00
Nicolas Grekas
11053c5e86 Merge branch '2.8' into 3.4
* 2.8:
  fixed CS
  Changes for upcoming Travis' infra migration
  Doc fix: clarify isMethodCacheable() returns true only for GET & HEAD
  [DomCrawler] exclude fields inside "template" tags
  Use XLIFF source rather than resname when there's no target
  [DoctrineBridge] catch errors while converting to db values in data collector
  [DoctrineBridge] fix case sensitivity issue in RememberMe\DoctrineTokenProvider
  Indentation error
  [HttpFoundation] Fix trailing space for mime-type with parameters
  Use intersection type when referring to ParentNodeDefinitionInterface
  [BrowserKit] fixed BC Break for HTTP_HOST header; implemented same behaviour for HTTPS server parameter
2018-11-26 11:17:44 +01:00
Fabien Potencier
316f96ea95 minor #28912 [Config] Use intersection type when referring to ParentNodeDefinitionInterface (thewilkybarkid)
This PR was merged into the 2.8 branch.

Discussion
----------

[Config] Use intersection type when referring to ParentNodeDefinitionInterface

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

Allows PHPStan to understand it correctly (refs https://github.com/libero/content-api-bundle/pull/2#discussion_r226237763).

PHPStorm 2018.3 will add support for it too, but to help older versions I've reversed the order (so `NodeDefinition` is recognised).

Commits
-------

e9cdabe570 Use intersection type when referring to ParentNodeDefinitionInterface
2018-11-26 10:38:12 +01:00
Nicolas Grekas
b634ed564a Merge branch '4.1'
* 4.1:
  fix cs
  fix cs
  fix cs
  SCA: consolidate non empty array checks across codebase
  [cs] correct invalid @param types
  [Bridge/PhpUnit] Use composer to download phpunit
  [DI] fix taking lazy services into account when dumping the container
  [Form] Fixed empty data for compound date interval
  [Cache] fix optimizing Psr6Cache for AdapterInterface pools
  deal with explicitly enabled workflow nodes
2018-11-20 17:22:05 +01:00
Nicolas Grekas
713b7986fe Merge branch '3.4' into 4.1
* 3.4:
  fix cs
  SCA: consolidate non empty array checks across codebase
  [cs] correct invalid @param types
  [Bridge/PhpUnit] Use composer to download phpunit
  [DI] fix taking lazy services into account when dumping the container
  [Form] Fixed empty data for compound date interval
  [Cache] fix optimizing Psr6Cache for AdapterInterface pools
  deal with explicitly enabled workflow nodes
2018-11-20 17:14:00 +01:00
Nicolas Grekas
9e0f8e7804 Merge branch '2.8' into 3.4
* 2.8:
  [cs] correct invalid @param types
2018-11-20 16:57:17 +01:00
Tomas Votruba
40f26235eb [cs] correct invalid @param types 2018-11-20 16:55:20 +01:00
Nicolas Grekas
d3ba3fb87d Merge branch '4.1'
* 4.1:
  Undeprecate the single-colon notation for controllers
  Command::addOption should allow int in $default
  Update symfony links to https
  [Form] Fixed keeping hash of equal \DateTimeInterface on submit
  [PhpUnitBridge] Fix typo
  [Routing] generate(null) should throw an exception
  [Form] Minor fixes in docs and cs
  [Workflow] Made code simpler
  [Config] Unset key during normalization
  [Form] Fixed empty data for compound date types
  invalidate forms on transformation failures
  [FrameworkBundle] fixed guard event names for transitions
  method buildTransitionBlockerList returns TransitionBlockerList of expected transition
  [FrameworkBundle] fixed guard event names for transitions
  [PropertyAccessor] Fix unable to write to singular property using setter while plural adder/remover exist
2018-11-15 13:17:10 +01:00
Nicolas Grekas
c8677f31bb Merge branch '3.4' into 4.1
* 3.4:
  Command::addOption should allow int in $default
  [Form] Fixed keeping hash of equal \DateTimeInterface on submit
  [PhpUnitBridge] Fix typo
  [Form] Minor fixes in docs and cs
  [Config] Unset key during normalization
  [Form] Fixed empty data for compound date types
  invalidate forms on transformation failures
  [PropertyAccessor] Fix unable to write to singular property using setter while plural adder/remover exist
2018-11-15 13:15:13 +01:00
Nicolas Grekas
b6f9f8d769 Merge branch '2.8' into 3.4
* 2.8:
  [Form] Fixed keeping hash of equal \DateTimeInterface on submit
  [PhpUnitBridge] Fix typo
  [Config] Unset key during normalization
  invalidate forms on transformation failures
2018-11-13 17:52:15 +01:00
Roland Franssen
e1402d495e [Config] Unset key during normalization 2018-11-12 08:03:04 +01:00
Nicolas Grekas
0970b09796 Merge branch '4.1'
* 4.1:
  SCA: removed unused variables
  Remove duplicate condition
  fix useless space in docblock
  remove unneeded tearDown method
  [Intl] Update the ICU data to 63.1
  [FrameworkBundle] Fix broken exception message
  [Messenger] send using the routing_key for AMQP transport
  also clean away the NO_AUTO_CACHE_CONTROL_HEADER if we have no session
  [TwigBundle] Fix usage of TwigBundle without FrameworkBundle
  Revert "fixed CS"
  [Serializer] Reduce class discriminator overhead
  Skip empty proxy code
  [Security] Fix "exclude-from-classmap"
  [Security] Removed unsed trait import
  [Config] Fix @method annotation
  add missing double-quotes to extra_fields output message
  [DI] Default undefined env to empty string during compile
  Convert InsufficientAuthenticationException to HttpException
2018-10-30 18:11:56 +01:00
Roland Franssen
0d7a961338 [Config] Fix @method annotation 2018-10-19 12:20:44 +02:00
Chris Wilkinson
e9cdabe570 Use intersection type when referring to ParentNodeDefinitionInterface 2018-10-18 11:40:53 +01:00
Nicolas Grekas
004c315b0c Merge branch '4.1'
* 4.1:
  [DI] configure inlined services before injecting them when dumping the container
  Consistently throw exceptions on a single line
  fix fopen calls
  Update .editorconfig
2018-09-08 15:42:43 +02:00
Nicolas Grekas
6fec32c0d0 Merge branch '3.4' into 4.1
* 3.4:
  [DI] configure inlined services before injecting them when dumping the container
  Consistently throw exceptions on a single line
  fix fopen calls
  Update .editorconfig
2018-09-08 15:24:10 +02:00