Calling get_parent_class() without an argument now emits an E_DEPRECATED warning; previously, calling this function inside a class returned the name of that class.
Proposed solution
Simply add __CLASS__ (not $this, since caller is static) as parameter when calling method get_parent_class() in injection.class.php:
static function getTable($classname = null) {
return getTableForItemType(get_parent_class(__CLASS_));
}
Then, one need to regenerate the container files, either via:
web UI, browsing to marketplace/fields/front/container.php (or plugin/fields/front/container.php if not switched to Marketplace) and click on button Regenerate container files, or
console: php bin/console plugin:fields:regenerate_files (note that the ownership of the generated files will be attributed to the user who ran the command)
Call to get_parent_class() in injection.class.php is deprecated as of PHP 8.3.
Indeed, as per PHP documentation on get_parent_class():
Proposed solution
Simply add
__CLASS__
(not$this
, since caller is static) as parameter when calling methodget_parent_class()
in injection.class.php:Then, one need to regenerate the container files, either via:
marketplace/fields/front/container.php
(orplugin/fields/front/container.php
if not switched to Marketplace) and click on button Regenerate container files, orphp bin/console plugin:fields:regenerate_files
(note that the ownership of the generated files will be attributed to the user who ran the command)See corresponding issue #422 on plugin Data Injection repository.