Skip to content
  • Alexander Schnitzler's avatar
    [BUGFIX] Streamline arguments for logicalAnd() query in Extbase · 03cc0ab9
    Alexander Schnitzler authored and Christian Kuhn's avatar Christian Kuhn committed
    The method signature of Query::locicalAnd() is very misleading
    because it only states there is one method argument $constraint1.
    
    Actually, the method does accept any number of arguments, evaluated
    via func_get_args(). It also accepts any number of arguments if
    $constraint1 is an array of constraints. This leads to multiple
    issues when working with phpstan and also when simply using an IDE
    which does not understand the internal magic.
    
    The goal is to state, that logicalAnd() needs at least two
    constraints but also accepts any number of further constraints.
    
    Since that requires a breaking change, the method signature can
    only be fixed partly for now. $constraint1 remains as is, a 2nd
    argument $constraint2 is introduced, null by default to make it
    optional and a variadic argument ...$furtherConstraints is also
    introduced.
    
    This approach keeps the bc promise but also lays the foundation
    for further changes in the next version.
    
    Releases: master, 10.4
    Resolves: #95889
    Change-Id: Ife1be32d99371b82a84b6f6d800a58d242c8ff0d
    Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/72063
    
    
    Tested-by: default avatarcore-ci <typo3@b13.com>
    Tested-by: default avatarBenni Mack <benni@typo3.org>
    Tested-by: default avatarChristian Kuhn <lolli@schwarzbu.ch>
    Reviewed-by: default avatarBenni Mack <benni@typo3.org>
    Reviewed-by: default avatarChristian Kuhn <lolli@schwarzbu.ch>
    03cc0ab9