FriendsOfREDAXO / neues

News-Verwaltung (Aktuelles, Pressemitteilungen, Pressestimmen, ...) für REDAXO 5 auf YForm-Basis
MIT License
12 stars 2 forks source link

explode(): Passing null to parameter #2 ($string) of type string is deprecated #16

Closed Koala closed 1 year ago

Koala commented 1 year ago

Der Aufruf von Aktuelles bringt mir eine Fehlermeldung aber keinen Whoops. Das scheint aber ein reines YFom* Problem zu sein. Der Fehler kommt auch, wenn ich im YForm Tablemanager versuche die Daten der Tabelle News aufzurufen.

explode(): Passing null to parameter #2 ($string) of type string is deprecated
#0 [internal function]: rex_error_handler::handleError()
#1 /usr/local/www/redaxo/redaxo5_x_demoaddon/redaxo/src/addons/yform_field/lib/yform/value/select.php(25): explode()
#2 /usr/local/www/redaxo/redaxo5_x_demoaddon/redaxo/src/addons/yform/lib/yform.php(368): rex_yform_value_select->enterObject()
#3 /usr/local/www/redaxo/redaxo5_x_demoaddon/redaxo/src/addons/yform/lib/yform.php(269): rex_yform->executeFields()
#4 /usr/local/www/redaxo/redaxo5_x_demoaddon/redaxo/src/addons/yform/plugins/manager/lib/yform/manager/search.php(86): rex_yform->getForm()
#5 /usr/local/www/redaxo/redaxo5_x_demoaddon/redaxo/src/addons/yform/plugins/manager/lib/yform/manager.php(125): rex_yform_manager_search->getForm()
#6 /usr/local/www/redaxo/redaxo5_x_demoaddon/redaxo/src/addons/yform/plugins/manager/pages/data_edit.php(20): rex_yform_manager->getDataPage()
#7 /usr/local/www/redaxo/redaxo5_x_demoaddon/redaxo/src/addons/neues/pages/data_edit.php(29): include('...')
#8 /usr/local/www/redaxo/redaxo5_x_demoaddon/redaxo/src/core/lib/packages/package.php(233): require('...')
#9 /usr/local/www/redaxo/redaxo5_x_demoaddon/redaxo/src/core/lib/be/controller.php(503): rex_package->includeFile()
#10 /usr/local/www/redaxo/redaxo5_x_demoaddon/redaxo/src/core/lib/util/timer.php(62): rex_be_controller::{closure}()
#11 /usr/local/www/redaxo/redaxo5_x_demoaddon/redaxo/src/core/lib/be/controller.php(485): rex_timer::measure()
#12 /usr/local/www/redaxo/redaxo5_x_demoaddon/redaxo/src/core/lib/be/controller.php(453): rex_be_controller::includePath()
#13 /usr/local/www/redaxo/redaxo5_x_demoaddon/redaxo/src/addons/neues/pages/neues.php(4): rex_be_controller::includeCurrentPageSubPath()
#14 /usr/local/www/redaxo/redaxo5_x_demoaddon/redaxo/src/core/lib/packages/package.php(233): require('...')
#15 /usr/local/www/redaxo/redaxo5_x_demoaddon/redaxo/src/core/lib/be/controller.php(503): rex_package->includeFile()
#16 /usr/local/www/redaxo/redaxo5_x_demoaddon/redaxo/src/core/lib/util/timer.php(62): rex_be_controller::{closure}()
#17 /usr/local/www/redaxo/redaxo5_x_demoaddon/redaxo/src/core/lib/be/controller.php(485): rex_timer::measure()
#18 /usr/local/www/redaxo/redaxo5_x_demoaddon/redaxo/src/core/lib/be/controller.php(436): rex_be_controller::includePath()
#19 /usr/local/www/redaxo/redaxo5_x_demoaddon/redaxo/src/core/backend.php(241): rex_be_controller::includeCurrentPage()
#20 /usr/local/www/redaxo/redaxo5_x_demoaddon/redaxo/src/core/boot.php(155): require('...')
#21 /usr/local/www/redaxo/redaxo5_x_demoaddon/redaxo/index.php(9): require('...')
#22 {main}
alxndr-w commented 1 year ago

Danke, schau ich mir an!

Kann es sein, dass in meinem oder einem anderen Add-on ein altes select-Feld in der Felddefinition rumgeistert?

Das kommt aus Abwärts-Kompatibilitätsgründen in YForm Field mit, sollte aber nicht mehr in meinen Add-ons oder generell verwendet werden.

alxndr-w commented 1 year ago

https://github.com/alexplusde/yform_field

Das müsste hier gelöst werden meines Erachtens.

alxndr-w commented 1 year ago

@Koala teste doch bitte mal das aktualisierte select-Value und schreib mir, welches Feld in neues noch ein klassisches Select einsetzt bitte.

Koala commented 1 year ago

Heurika, es funktoniert.

Bei "Eintrag" auf das "+" geklickt bringt mir allerdings:

grafik

Koala commented 1 year ago

https://github.com/alexplusde/yform_field/blob/dc3a55d66a26d6e226553f16059305ee1b7b7727/lib/yform/value/domain.php#L24

$values = explode(',', $values ?? '');

Ich fürchte, dass braucht es bei allen explodes.

alxndr-w commented 1 year ago

Ich habe die alten Select-Felder nur aus Kompatibilitätsgründen drin, weil ich doch ein paar Projekte betreue, die die brauchen.

Entweder wir kriegen das schön gefixt, dass die auch unter PHP9 funktionieren. Oder ich schmeiß sie dann auch raus ;)

alxndr-w commented 1 year ago

@Koala wenn du das schon so auf dem Schirm hast und dazu einen PR machen würdest und die explode() stellen damit übergangsweise gefixt wären, wäre auch das mir eine Hilfe.

Ich würde es sonst erst machen, wenn ich selbst das Problem habe.