Steffen Mach das lieber nicht, da du damit ja die ursprünglich angedachte Funktionalität der Extension aushebelst. Es hat ja sicher einen Grund, dass genau der Wert 999
geprüft wird. Mit dieser Logik-Änderung sorgst du ja dafür, dass der Code früher abbricht als er eigentlich soll. Das Problem liegt also im tieferliegenden Abschnitt. Soweit ich das sehe ist Zeile 30 das hier:
if (!is_array($result['processedTca']['columns']['colPos']['config']['items'])) {
schau doch mal nach, ob die Keys dieser Kette, insbesondere colPos
wirklich existieren.
Folgendes stark vereinfachtes Beispiel liefert den gleichen Fehler:
<?php
$result = [
'processedTca' => [
'columns' => [
]
]
];
if (!is_array($result['processedTca']['columns']['colPos']['config']['items'])) {
}
!is_array
prüft ob es sich nicht !
um ein Array handelt. Ich gehe mal davon aus, dass der Entwickler einfach schauen wollte, ob items
am Ende der Kette existieren und implizit gleich noch die Frage beantwortet, ob die Kette überhaupt existiert. Die nicht-Existenz eines Keys der Kette führt seit PHP 8.0 zur o.g. Warnung und sollte per Null-Koaleszenz-Operator ??
behandelt werden, also in diesem Beispiel wie folgt:
if (!is_array($result['processedTca']['columns']['colPos']['config']['items'] ?? false)) {
}
Er fällt hier einfach bei nicht-Existenz eines Keys der Kette auf den Bool-Wert false
zurück und ist damit ebenfalls kein Array mehr. Die Bedingung tritt auch in diesem Fall nicht ein während explizit dafür Sorge getragen wurde, wie mit nicht-Existenz der Kette bzw. von Teilen der Kette umzugehen ist.