Breaking: #93041 - Remove TypoScript option addQueryString.method

See forge#93041

Description

The TypoScript option addQueryString.method has been removed.

If omitted, this added all parameters from the PHP $_SERVER[QUERY_STRING] value, which was used heavily in PHP 3 / PHP 4 times, instead of the more "modern" $_GET parameters, which was set via addQueryString.method = GET.

However, the latter solution was / is the default for working in PSR-7 requests, and with routing. The option itself is removed, in order to have TYPO3 use the same values throughout TYPO3 Core, making method = GET the default and thus, the only option.

To further streamline TYPO3s source code, the underlying PHP method ContentObjectRenderer->getQueryArguments() now only accepts exactly one argument.

All Fluid arguments related to that setting, or Extbase UriBuilder methods do not change any behavior anymore related to building an Uri.

Impact

Calling UriBuilder->setAddQueryStringMethod() will trigger a PHP E_USER_DEPRECATED error.

Calling ContentObjectRenderer->getQueryArguments() with more than one argument will have no effect anymore.

Setting the TypoScript option addQueryString.method will have no effect anymore.

Using the addQueryStringMethod argument in the following ViewHelpers will trigger a deprecation notice:

  • <f:form>
  • <f:link.action>
  • <f:link.page>
  • <f:link.typolink>
  • <f:uri.action>
  • <f:uri.page>
  • <f:uri.typolink>

Affected Installations

Any TYPO3 installation

  • with extensions calling Extbase's UriBuilder->setAddQueryStringMethod() method
  • with extensions calling ContentObjectRenderer->getQueryArguments() with more then one argument
  • with custom templates setting the addQueryStringMethod argument in Fluid using one of the mentioned ViewHelper.

Migration

Remove any usages within the Fluid templates or Extension code.