Ergebnis 1 bis 12 von 12

Thema: Haste-Erweiterung einbinden in PHP 7/8

  1. #1
    Contao-Urgestein Avatar von Samson1964
    Registriert seit
    05.11.2012.
    Ort
    Berlin
    Beiträge
    2.822

    Frage Haste-Erweiterung einbinden in PHP 7/8

    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
    PHP-Code:
    "php""^8.1" 
    Viele Grüße
    Frank

    Seit Mai 2013 Fan von Contao
    Webmaster vom Deutschen Schachbund und Berliner Schachverband
    Mein Blog: Schachbulle
    Meine Erweiterungen bei GitHub
    Meine Videos auf YouTube: Playlist zur Contao-Programmierung/Einrichtung

  2. #2
    Alter Contao-Hase
    Registriert seit
    24.02.2021.
    Beiträge
    1.477
    Partner-ID
    11715
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Poste den Link zu deiner Erweiterung (sofern öffentlich)

  3. #3
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    37.161
    Partner-ID
    10107

    Standard

    Du darfst nie (bis auf bestimmte Ausnahmen) einfach nur * benutzen - du musst immer die Versionen der Abhängigkeit verlangen, die du unterstützt. Also entweder Haste 4 oder 5 in diesem Fall - oder beides, wenn du deinen Code entsprechend anpasst.
    » sponsor me via GitHub or Revolut

  4. #4
    Contao-Urgestein Avatar von Samson1964
    Registriert seit
    05.11.2012.
    Ort
    Berlin
    Beiträge
    2.822

    Standard

    Also statt * muß ich Version 5 voraussetzen ab PHP 8.1?
    https://github.com/Samson1964/contao-fernschach-bundle
    Viele Grüße
    Frank

    Seit Mai 2013 Fan von Contao
    Webmaster vom Deutschen Schachbund und Berliner Schachverband
    Mein Blog: Schachbulle
    Meine Erweiterungen bei GitHub
    Meine Videos auf YouTube: Playlist zur Contao-Programmierung/Einrichtung

  5. #5
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    37.161
    Partner-ID
    10107

    Standard

    Mit der PHP Version hat das hier nichts zu tun, Haste 4 unterstützt auch PHP 8.
    » sponsor me via GitHub or Revolut

  6. #6
    Alter Contao-Hase
    Registriert seit
    24.02.2021.
    Beiträge
    1.477
    Partner-ID
    11715
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Eine Frage hab ich schon, warum willst du weiterhin PHP 5 und 7 supporten / warum willst du Haste 5 nutzen, wenn du sowieso nur Contao 4.13 nutzt?

    Ab Contao 5.3, wo PHP 8 Voraussetzung ist, geht PHP 7 eh nicht mehr.

    Du kannst, wenn du nur 4.13 haben willst, weiterhin nur auf Haste 4 bleiben?

  7. #7
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    37.161
    Partner-ID
    10107

    Standard

    Zitat Zitat von zoglo Beitrag anzeigen
    Du kannst, wenn du nur 4.13 haben willst, weiterhin nur auf Haste 4 bleiben?
    Mit der Contao Version hat das nichts zu tun. Es gibt ja Erweiterungen die Haste 5 mindestens voraussetzen und auch für Contao 4.13 verfügbar sind. Wenn die Extension mit diesen Extensions kompatibel bleiben soll (in den neuesten Versionen), dann muss man auch diese Erweiterung damit kompatibel machen.
    Geändert von Spooky (26.12.2024 um 15:25 Uhr)
    » sponsor me via GitHub or Revolut

  8. #8
    Alter Contao-Hase
    Registriert seit
    24.02.2021.
    Beiträge
    1.477
    Partner-ID
    11715
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ah, andere Extensions die noch Haste 4 nutzen, stimmt - komplett vergessen.

  9. #9
    Contao-Urgestein Avatar von Samson1964
    Registriert seit
    05.11.2012.
    Ort
    Berlin
    Beiträge
    2.822

    Standard

    Ich habe zwei Dev-Installationen: Contao 4.9 mit PHP 7.4 und Contao 4.13 mit PHP 8.3. Meine Erweiterung wurde in der 4.9 entwickelt. Um sie PHP-8-fähig zu machen, habe ich die Abhängigkeit in der composer.json für PHP 8 aktiviert und sie in der 4.13-Installation installiert. Danach begannen die Anpassungen am Code, darunter der geänderte Namespace von Haste. Offensichtlich wurde bei C4.13/PHP 8.3 Haste 5 installiert, während auf C4.9/PHP7.4 noch Haste 4 läuft.

    Im Livesystem (C4.13/PHP7.3) lief meine Erweiterung (die ich auf C4.13/PHP 8.3 entwickelt/portiert hatte) problemlos - auch mit den auf Haste 5 geänderten Namespaces. Nun machte ich im Livesystem ein Update auf PHP 8.2. Und jetzt wird auf einmal rumgemeckert. Meine Erweiterung, angepaßt auf Haste 5, läuft nicht mit dem installierten Haste 4, da sich der Namespace geändert hat. Und PHP 8 mag das nicht.

    Lösung wird wahrscheinlich sein in der composer.json:
    PHP-Code:
    "codefog/contao-haste""<5" 
    zu schreiben, damit ich mich nicht mit dem gänderten Namespaces in Haste 5 herumärgern muß. Und Haste 4 soll ja lt. Spooky auch kompatibel mit PHP 8 sein.
    Viele Grüße
    Frank

    Seit Mai 2013 Fan von Contao
    Webmaster vom Deutschen Schachbund und Berliner Schachverband
    Mein Blog: Schachbulle
    Meine Erweiterungen bei GitHub
    Meine Videos auf YouTube: Playlist zur Contao-Programmierung/Einrichtung

  10. #10
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    37.161
    Partner-ID
    10107

    Standard

    Korrekt, aber dann ist deine Erweiterung nicht mehr kompatibel mit anderen Erweiterungen, die in den neuesten Versionen nach mindestens Haste 5 verlangen. Nachdem Contao 4.13 und Haste 4 veraltet sind, solltest du also diesen Schritt machen.
    » sponsor me via GitHub or Revolut

  11. #11
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    37.161
    Partner-ID
    10107

    Standard

    Und wenn dann solltest du
    PHP-Code:
    "codefog/contao-haste""^4.25" 
    schreiben, für Haste 4.
    » sponsor me via GitHub or Revolut

  12. #12
    Contao-Urgestein Avatar von do_while
    Registriert seit
    15.06.2009.
    Ort
    Berlin | Deutschland
    Beiträge
    3.653
    Partner-ID
    1081
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Mit der PHP-Funktion class_exists könntest Du prüfen, ob die entsprechende Haste-Klasse vorhanden ist und sonst Deinen Zugriff über die neue Klasse aufbauen. Dann könntest Du zu Haste 4 und 5 kompatibel werden.

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •