When the object is being initialized from the existing structure in the
database, the length will be passed as a string and was previously stored as-is
within the object.
This violates the existing PHPDoc type declaration and breaks consumers that
use a strict comparison (`===`) to check the length, notably
`YearDatabaseTableColumn`.
Fix this by casting the passed parameter to an actual `int`. This should be
adjusted to a proper parameter type in a future version.
Resolves #4594
[Tim: Adjusted commit message]
*/
public function length($length) {
if ($length !== null) {
+ $length = (int) $length;
$this->validateLength($length);
}