-
-
Notifications
You must be signed in to change notification settings - Fork 9.6k
[Config] Handle nullable node name + fix inheritdocs #26335
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 our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 3 commits
0d343c9
986ae4c
bc1c945
6f1db4c
03ea776
f1eb6ec
be2a65d
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -11,6 +11,10 @@ | |
|
||
namespace Symfony\Component\Config\Definition; | ||
|
||
use Symfony\Component\Config\Definition\Exception\Exception; | ||
use Symfony\Component\Config\Definition\Exception\ForbiddenOverwriteException; | ||
use Symfony\Component\Config\Definition\Exception\InvalidConfigurationException; | ||
|
||
/** | ||
* Common Interface among all nodes. | ||
* | ||
|
@@ -59,9 +63,9 @@ public function hasDefaultValue(); | |
public function getDefaultValue(); | ||
|
||
/** | ||
* Normalizes the supplied value. | ||
* Normalizes a value. | ||
* | ||
* @param mixed $value The value to normalize | ||
* @param mixed $value Value to normalize | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. maybe There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. in fact.. i think i should revert this one as the interface was already using different syntax: https://github.com/symfony/symfony/pull/26335/files#diff-41913ce7a681852774440044e2c091bdR92 |
||
* | ||
* @return mixed The normalized value | ||
*/ | ||
|
@@ -73,7 +77,9 @@ public function normalize($value); | |
* @param mixed $leftSide | ||
* @param mixed $rightSide | ||
* | ||
* @return mixed The merged values | ||
* @return mixed The merged value | ||
* | ||
* @throws ForbiddenOverwriteException | ||
*/ | ||
public function merge($leftSide, $rightSide); | ||
|
||
|
@@ -83,6 +89,9 @@ public function merge($leftSide, $rightSide); | |
* @param mixed $value The value to finalize | ||
* | ||
* @return mixed The finalized value | ||
* | ||
* @throws Exception | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. All There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Now updated. |
||
* @throws InvalidConfigurationException | ||
*/ | ||
public function finalize($value); | ||
} |
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.
why not cast to string instead?
if (false !== strpos($name = (string) $name, '.')) {
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.
yes, better. Now updated.
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.
Didnt reassign
$name
btw... we need to preserve string|null on the property side. Or put different: im not sure about changing that.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.
why? would need a side effect, which one is it? casting all the time is hurting perf, that's not the side effect I'd consider good ;)
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.
BC... (
protected $name;
). Also the constructor sig kinda implies a nullable value.Then again.. if i got this right, it shouldnt hurt indeed. AFAIK prototyped nodes will have a string name (
setName()
) once being dealt with. And the calling side needs to expect string anyway duegetName()
.Given
$arr[null] = ..
equals$arr[''] = ...
(see remaining issue) i think it's safe to make the change 👍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 the docblock, isn't it? I'd support doing the change :)
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.
touche. It does in 4.0 though. Now updated.