Author Topic: phplib Namespace wird unter 2.13.1 nicht mehr eingebunden  (Read 934 times)

Offline Martin Hecht

  • Betatester
  • **
  • Posts: 607
  • Gender: Male
    • meine Homepage
phplib Namespace wird unter 2.13.1 nicht mehr eingebunden
« on: April 27, 2022, 11:12:25 PM »
Hallo,

der Namespace, der die Template Klasse bereitstellt, wird im neuen Release nicht mehr eingebunden. Das hat zur Folge, dass eine ganze Reihe Module nicht mehr funktionieren. Man könnte zwar ganz einfach überall dort, wo die Klasse verwendet wird, mit einem use Statement den Namespace einbinden. Damit wären die Module unter der neuen Version zwar lauffähig, aber dann nicht mehr abwärts kompatibel. Das use Statement in einen if-Block zu packen funktioniert leider auch nicht - sonst könnte man zum Beispiel mit class_exists() eine Unterscheidung treffen. Funktioniert aber leider ausgerechnet bei 'use' nicht.

Daher meine Bitte: Bindet den phplib-Namespace weiterhin Core-seitig ein, damit die Module, die darauf aufbauen, weiterhin funktionieren.

Viele Grüße,
Martin

Offline Luisehahne

  • WebsiteBaker Org e.V.
  • **
  • Posts: 4522
  • Gender: Male
Re: phplib Namespace wird unter 2.13.1 nicht mehr eingebunden
« Reply #1 on: April 28, 2022, 09:18:27 AM »
Hallo Martin,

Pplib wird eine Zeitlang als deprecated weiter mitgeliefert und für Addons nutzbar sein. Das Problem kommt allerdings mit php8.1.x da schmiert phplib gnadenlos ab, und ob eine so alte Klasse mit tausend Zeilen überarbeitet werden sollte, meiner Meinung nach nicht.

Wir binden zur Zeit ja die phplib über den WB eigenen Autoloader ein. Was spricht dagegen, wenn du in deinen Modulen die phplib mitlieferst und dann includest? Soweit meine Kenntnisse reichen, wird eh die überholte template.inc bevorzugt. Da gab es nämlich File not found Probleme, weil diese für WB entfernt wurde, da nicht mehr nötig.

Dietmar
Note: Once the code has been generated, it is easy to debug. It's not a bug, it's a feature!

Offline Martin Hecht

  • Betatester
  • **
  • Posts: 607
  • Gender: Male
    • meine Homepage
Re: phplib Namespace wird unter 2.13.1 nicht mehr eingebunden
« Reply #2 on: May 03, 2022, 09:38:29 PM »
danke für die PMs und für die vorübergehende Lösung. Die phplib in jedem Modul separat mit auszuliefern wäre sicher keine gute Idee. Mittelfristig steht also ein Umstieg an, weg von phplib. Das ist nur bei über Jahre gewachsenen Modulen nicht mal schnell umgestrickt. Aber ja, ihr habt recht, irgendwann muss man es mal angehen, und wenn die Template Klasse unter php 8.1 nicht mehr läuft, dann ist das ein gewichtiges Argument....

Offline Luisehahne

  • WebsiteBaker Org e.V.
  • **
  • Posts: 4522
  • Gender: Male
Re: phplib Namespace wird unter 2.13.1 nicht mehr eingebunden
« Reply #3 on: May 04, 2022, 11:35:49 AM »
Das Problem des Einbinden von phplib in Fremdmodulen, wird mit dem nächsten Patch R115, welches sich gerade im Test befindet, behoben sein.

Dietmar
Note: Once the code has been generated, it is easy to debug. It's not a bug, it's a feature!