Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/Symfony/Component/Form/Form.php
Original file line number Diff line number Diff line change
Expand Up @@ -748,7 +748,7 @@ public function isEmpty()

return FormUtil::isEmpty($this->modelData) ||
// arrays, countables
0 === count($this->modelData) ||
((is_array($this->modelData) || $this->modelData instanceof \Countable) && 0 === count($this->modelData)) ||
Copy link
Member

Choose a reason for hiding this comment

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

what about:

array() === $this->modelData ||
($this->modelData instanceof \Countable && 0 === count($this->modelData) ||

Copy link
Member Author

Choose a reason for hiding this comment

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

This is to avoid calling count() on an array? If that's the case, shouldn't we fix this throughout all 0 === count() calls in the code base?

Copy link
Member

Choose a reason for hiding this comment

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

I find it more readable :)

Copy link
Contributor

Choose a reason for hiding this comment

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

creating an empty array to test if some var is also an empty array seems a bit much for syntax sugar?

Copy link
Contributor

@ro0NL ro0NL Dec 16, 2016

Choose a reason for hiding this comment

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

Shouldnt this be covered by FormUtils::isEmpty (or maybe add isEmptyCollection)?

Ie. what about https://github.com/symfony/symfony/blob/master/src/Symfony/Component/Form/Extension/Core/Type/ChoiceType.php#L98?

// traversables that are not countable
($this->modelData instanceof \Traversable && 0 === iterator_count($this->modelData));
Copy link
Contributor

Choose a reason for hiding this comment

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

Shouldn't it check this before 0 === count($this->modelData)?

Copy link
Member Author

Choose a reason for hiding this comment

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

With the latest update, it doesn't have to be done before the count.

}
Expand Down