60 lines
2.1 KiB
ReStructuredText
60 lines
2.1 KiB
ReStructuredText
.. include:: /Includes.rst.txt
|
|
|
|
.. _deprecation-99579-1673983578:
|
|
|
|
====================================================
|
|
Deprecation: #99579 - BackendUtility::getFuncCheck()
|
|
====================================================
|
|
|
|
See :issue:`99579`
|
|
|
|
Description
|
|
===========
|
|
|
|
The method :php:`\TYPO3\CMS\Backend\Utility\BackendUtility::getFuncCheck()` has
|
|
been marked as deprecated and should not be used any longer.
|
|
|
|
|
|
Impact
|
|
======
|
|
|
|
Calling the method will raise a deprecation level log error and will
|
|
stop working with TYPO3 v13.
|
|
|
|
|
|
Affected installations
|
|
======================
|
|
|
|
The method may be used in extensions that add backend modules. The
|
|
extension scanner finds usages with a strong match.
|
|
|
|
|
|
Migration
|
|
=========
|
|
|
|
:php:`BackendUtility::getFuncCheck()` is a helper method that renders a
|
|
select dropdown and is typically used to trigger a `GET` request when
|
|
the user selects an option.
|
|
|
|
In general, such HTML should not be generated by PHP, but by Fluid templating.
|
|
The method is thus typically used by old school backend modules that have not
|
|
or only partially been transferred to Fluid, improving the controller-view
|
|
separation.
|
|
|
|
The most simple and ugly migration is to copy the method to an own controller
|
|
that consumes the method. The better solution is to add the arguments as variables
|
|
to the Fluid template and render the dropdown in Fluid. This should be a pretty
|
|
straight transition as well and typically avoids another :html:`<f:format.raw>`
|
|
ViewHelper usage.
|
|
|
|
Note that requests send by these drop-downs should switch from `GET` to `POST` in
|
|
case they change the server state (e. g. changing records) along the way: State changing
|
|
requests should be restricted to POST as an additional security measure, and to
|
|
not violate the HTTP protocol. The TYPO3 Core comes with more and more examples
|
|
on how to handle this properly. For instance, all dropdowns and checkbox toggles
|
|
of the `tstemplate` extension (:guilabel:`Site Management > TypoScript` backend module)
|
|
have been changed to do this and can be studied on how to trigger immediate
|
|
`POST` actions when clicking such elements.
|
|
|
|
.. index:: Backend, PHP-API, FullyScanned, ext:backend
|