Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork9.7k
Fixed the @return value of Response::setStatusCode()#20290
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Uh oh!
There was an error while loading.Please reload this page.
Conversation
javiereguiluz commentedOct 24, 2016
| Q | A |
|---|---|
| Branch? | 2.7 |
| Bug fix? | yes |
| New feature? | no |
| BC breaks? | no |
| Deprecations? | no |
| Tests pass? | yes |
| Fixed tickets | #19821 |
| License | MIT |
| Doc PR | - |
fabpot commentedOct 24, 2016
I still don't know what the "best practices" is here as I remember some discussions about this. Anyway, don't you think we should fix all the |
| * status codes and left empty otherwise. | ||
| * | ||
| * @returnResponse | ||
| * @return$this |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
I vote for@return self since it's now used in php 7 as returned type hint
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
What PSR-X tells us about this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
For phpdoc seehttps://www.phpdoc.org/docs/latest/references/phpdoc/types.html,selfis in the list. Same for the php RFC about return type hint,self andparenthttps://wiki.php.net/rfc/return_types#differences_from_past_rfcs.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
I was more thinking abouthttps://github.com/phpDocumentor/fig-standards/blob/master/proposed/phpdoc.md
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
thanks for the link, looks likeself is in the Appendix A as wellhttps://github.com/phpDocumentor/fig-standards/blob/master/proposed/phpdoc.md#appendix-a-types
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
$this is allowed
https://github.com/phpDocumentor/fig-standards/blob/master/proposed/phpdoc.md#appendix-a-types
> keyword = "resource" / "self" / "static" / "string" / "true" / "void" / "$this"
Didnt read well@HeahDude :)
For PHPStorm$this gives way better DX so it seems (opposed toself).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
For PHPStorm $this gives way better DX so it seems (opposed to self).
How that? We useself in many projects for some time now and it works pretty well.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
😭
ogizanagiOct 24, 2016 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
I personally usestatic everytime (because it behaves like late static binding), but according toPSR-5 Keywords section, 14-15:
static, the element to which this type applies is of the same class as which the documented element is contained, or when encountered in a subclass is of type of that subclass instead of the original class.This keyword behaves the same way as the keyword for late static binding (not the static method, property, nor variable modifier) as defined by PHP.
$this, the element to which this type applies isthe same exact instance as the current class in the given context. As such this type is astricter version of static as, in addition,the returned instance must not only be of the same class but also the same instance.
$this seems the most appropriate. 👍
self isn't because:
the element to which this type applies is of the same class as which the documented element is originally contained
which means:
it may lead to confusing situations when inheritance is involved
| * @param array $headers An array of response headers | ||
| * | ||
| * @returnResponse | ||
| * @return$this |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Not sure this goes for static. Perhaps use@return static in these cases.
edit: it works though :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Should bestatic indeed (IMHO)
chalasr commentedOct 27, 2016 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
👍 Status: Reviewed |
xabbuh commentedOct 31, 2016
👍 LGTM |
fabpot commentedOct 31, 2016
What about fixing the whole codebase instead of just one class? I can do it it you want as merging into other branches will be difficult. |
javiereguiluz commentedOct 31, 2016
@fabpot 👍 I agree. Please, fix the entire codebase as you'll do it better than me. Thanks! |
staabm commentedDec 25, 2016
Should this be something checked by the cs-fixer? |
fabpot commentedDec 26, 2016
see#21054 |
…ant (fabpot)This PR was merged into the 2.7 branch.Discussion----------Fix@return statements to use $this or static when relevant| Q | A| ------------- | ---| Branch? | 2.7| Bug fix? | no| New feature? | no| BC breaks? | no| Deprecations? | no| Tests pass? | yes| Fixed tickets |#20290| License | MIT| Doc PR | n/asee#20290Commits-------3c0693d fixed@return when returning this or static
This PR was merged into the 2.7 branch.Discussion----------[Config] Improve PHPdoc / IDE autocomplete| Q | A| ------------- | ---| Branch? | 2.7| Bug fix? | yes-ish| New feature? | no| BC breaks? | no| Deprecations? | no| Tests pass? | yes| Fixed tickets | #... <!-- #-prefixed issue number(s), if any -->| License | MIT| Doc PR | symfony/symfony-docs#... <!--highly recommended for new features-->The missing pieces for fixing the autocomplete in IDE's (tested in `PhpStorm 2016.3.2`).Each method seems to be found now for the framework bundle configuration 😱Actually uses#20923 where needed, but i think we should go with it consistently.Relates to#20290 (comment)Commits-------3f3c6e0 [Config] Improve PHPdoc / IDE autocomplete

