Das ist eine für den Ausdruck optimierte Ansicht des gesamten Kapitels inkl. Unterseiten. Druckvorgang starten.

Zur Standardansicht zurückkehren.

wt-shared-libs

Gemeinsame PHP-Bibliothek für benutzerdefinierte webtrees-Module

    License: GPL v3 webtrees major version

    wt-shared-libs ist die gemeinsame PHP-Bibliothek hinter den benutzerdefinierten Modulen LinkEnhancer und Cronjob. Sie sorgt dafür, dass zwei webtrees-Hauptversionen (2.2 und 2.3) nebeneinander funktionieren: versionsabhängige Klassen, Methoden und Signaturen werden hier einmal gekapselt, statt in jedem Modul dupliziert.

    Teile und insbesondere die Laderoutine sind von dem ähnlichen Paket Jefferson49/webtrees-common inspiriert.

    Was ist drin

    Alles liegt unter der PSR-4-Root Schwendinger\Webtrees\. Die vollständige Methoden-API ist im Repository dokumentiert — diese Seite dient nur als Überblick:

    KomponenteNamespaceFunktion
    Functions.phpHelpers15 versionsabhängige Static-Helper — Versionsprüfung, Routen, privatisierte Daten, DataTables-Normalisierung, HTTP-Statuscodes
    ClassName.phpHelpersversionsunabhängige webtrees-Klassennamen — get / isInstanceOf + 2.2/2.3-Konstanten
    MoreI18N.phpHelpersÜbersetzung — translate für eigene Strings, xlate für Strings, die bereits vom webtrees-Core abgedeckt sind
    CliBootstrap.phpServicesCLI-Bootstrap — boot / guard + Offline-Erkennung
    ModuleLog.phpServicesModul-Singleton-Logger — error / debug / trace
    ModuleCustomTrait.phpTraitsCustom-Module-Metadaten — Autor, Version, URLs, customTranslations
    autoload.php–der Loader (siehe unten)

    Vollständige Methoden-API: reference.md im Repository.

    So funktioniert der Loader

    autoload.php ist ein skew-toleranter Loader: Er vergleicht die vom Modul mitgelieferte Lib-Version mit der im webtrees-Root installierten Version und lässt immer die neueste Kopie gewinnen — so kann eine veraltete, gebündelte Kopie eine neuere Site-Ebene niemals überschatten. Eine Regel für Konsumenten: die Lib nicht im __construct() der Modul-Klasse laden — das kann die Autoload-Reihenfolge verändern. Die vollständigen Prämissen und der Beweis stehen in reference.md .

    Schnellstart (als konsumierendes Modul)

    Ein Path-Repository im composer.json des Moduls ergänzen und den Loader in der eigenen Lade-Routine registrieren (nach den anderen Composer-Libraries):

    "repositories": [
        { "type": "path", "url": "../wt-shared-libs", "options": { "symlink": false } }
    ],
    "require": {
        "bschwede/wt-shared-libs": "^1.0"
    },
    "config": {
        "prepend-autoloader": false
    }
    

    Releases

    Releases werden per Git-Tag versioniert; das Tag entspricht immer dem version-Feld im composer.json (ohne v-Präfix). Siehe CHANGELOG.md .