Ich habe eine Erweiterung auf PHP 8 angeboten und via composer.json Haste eingebunden:
PHP-Code:
"codefog/contao-haste": "*"
Das Problem: Unter PHP 7.4 wird ein contao-haste-Paket mit dem Namespace "Haste\Form" (aus Form.php) installiert, unter PHP 8.2 aber mit dem Namespace "Codefog\HasteBundle\Form". Bei einer Neuinstallation unter der jeweiligen PHP-Version ist das kein Problem. Ich ändere in meiner Erweiterung alle Aufrufe einfach von dem einen auf den anderen Namespace.
Aber wenn ich eine Installation mit installierten contao-haste-Paket mit Namespace "Haste\Form" von PHP 7 auf 8 ändere, wird leider contao-haste nicht aktualisiert.
Wahrscheinlich ist die Lösung in meiner Erweiterung einfach
PHP-Code:
"codefog/contao-haste": ">?"
anzugeben. Aber welche Versionsnummer sollte ich angeben?
Und sollte der Contao-Manager bei "*" nicht das beste geeignete Paket automatisch installieren, also das mit dem Namespace "Codefog\HasteBundle\Form"? Aber das macht er nicht, wahrscheinlich weil im "alten" contao-haste steht
PHP-Code:
"php": "~7.0 || ~8.0",
was wohl PHP ab 8.1 auch mit einschließt.
Im "neuen" contao-haste steht