Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

[Form] Deprecate passing ints#32821

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

Closed
vudaltsov wants to merge2 commits intosymfony:4.4fromvudaltsov:form-deprecate-ints

Conversation

@vudaltsov
Copy link
Contributor

QA
Branch?4.4
Bug fix?no
New feature?no
BC breaks?no
Deprecations?yes
Tests pass?yes
Fixed ticketsrelates to#32237
LicenseMIT
Doc PRtodo?

This PR deprecates passing ints to form building methods to ease upgrade to 5.0.

ping@nicolas-grekas ,@xabbuh

*
* This method should not be invoked.
*
* @param string|int|FormBuilderInterface $child
Copy link
Member

@nicolas-grekasnicolas-grekasJul 30, 2019
edited
Loading

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

All similar changes make sense, but I'm not sure the rest does: passing an int will just work in Symfony 5, thanks to thestring type. Ppl that use strict mode won't have a smooth upgrade path that's true, but are we going to ask everyone to make their code "strict" while only some actually need it? Not sure...

yceruto reacted with thumbs up emoji
Copy link
Contributor

@TobionTobionJul 31, 2019
edited
Loading

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

I agree that we should rely on auto casting internally. No need to forbid integers passed from users. See#32066
I don't see what these changes try to accomplish.

Simperfit and yceruto reacted with thumbs up emoji
Copy link
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

@Tobion , these changes are for the ones calling$form->add(1) from classes with strict types enabled. Once we addstring type in5.0, they will have an error.

But now I see the point of@nicolas-grekas better (we already discussed that earlier): if a user doesdeclare(strict_types=1), it's her responsibility to check that she passes correct arguments, because Symfony is not strict about types.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

Strict types is a bad idea, you have a perfect example of why.
It provides no additional type-guarantee.
On the contrary, type declarations on signature boundariesdo provide additional guarantee and thus prevent bugs.
Good news, we're adding them all in v5 when technically possible :)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

See#32828 as alternative.

Copy link
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

@nicolas-grekas , you mean 1? :)
@xabbuh, so, do you agree that we should close this?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

I mean that this situation will happen to all places where we added thestring type - not only on forms.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

I would have only done that in places where we explicitly declared support for other data types before. But I also understand the argument about everyone having to do the type cast then (though I wouldn't expect that many people actually use integers as form names).

Copy link
ContributorAuthor

@vudaltsovvudaltsovJul 31, 2019
edited
Loading

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

@nicolas-grekas , yes, I got it. Should we add a note in the BC promise about that then?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

Sure, I meant 1. :)
The BC promise is only about minor versions, so that's a bit off topic, but I don't have a better proposal.
PR welcome on the BC promise then, to be clear we don't promise not hard-breaking strict types.

@nicolas-grekas
Copy link
Member

Closing in favor of#32828
Thank you for raising the point and for the discussion!

vudaltsov and xabbuh reacted with thumbs up emojivudaltsov reacted with hooray emoji

nicolas-grekas added a commit that referenced this pull requestJul 31, 2019
This PR was merged into the 3.4 branch.Discussion----------[Form] update type of form $name arguments| Q             | A| ------------- | ---| Branch?       | 3.4| Bug fix?      | no| New feature?  | no| BC breaks?    | no| Deprecations? | no| Tests pass?   | yes| Fixed tickets |#32821| License       | MIT| Doc PR        | -An alternative to#32821: where a string is expected, passing an int is fine, per PHP casting rules.Commits-------6d4dcad [Form] update type of form $name arguments
@vudaltsovvudaltsov deleted the form-deprecate-ints branchJuly 31, 2019 15:06
@nicolas-grekasnicolas-grekas modified the milestones:next,4.4Oct 27, 2019
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment

Reviewers

@nicolas-grekasnicolas-grekasnicolas-grekas left review comments

@xabbuhxabbuhAwaiting requested review from xabbuhxabbuh is a code owner

+1 more reviewer

@TobionTobionTobion left review comments

Reviewers whose approvals may not affect merge requirements

Assignees

No one assigned

Projects

None yet

Milestone

4.4

Development

Successfully merging this pull request may close these issues.

5 participants

@vudaltsov@nicolas-grekas@Tobion@xabbuh@carsonbot

[8]ページ先頭

©2009-2025 Movatter.jp