Ergebnis 1 bis 11 von 11

Thema: Eigene Erweiterung NamespaceClassLoader und Composer

  1. #1
    Contao-Nutzer Avatar von miniA4kuser
    Registriert seit
    14.11.2013.
    Beiträge
    130

    Standard Eigene Erweiterung NamespaceClassLoader und Composer

    Bin gerade etwas verwirrt wegen Namespaces und so.

    Habe eine Erweiterung bei der ich den NamespaceClassLoader verwende, was soweit auch korrekt funktioniert. Die Erweiterung via FTP in system/modules/ hochgeladen > Datenbank aktualisieren und alles funktioniert.

    Wie schaut das denn nun bei einer Contao 3.5.x Installation inklusive Composer aus? Wenn ich dort die Erweiterung via FTP in system/modules/ hochlade, bekomme ich ja einen Fehler das die Klasse nicht gefunden wird. Wie gehe ich denn nun genau vor? Muss ich die Erweiterung anpassen und eine composer.json hinzufügen damit die Klasse via Composer eingebunden wird? Oder kann ich auch hier einfach den NamespaceClassLoader via Composer installieren und alles funktioniert wie gewünscht? Und/oder muss ich dann die Erweiterung irgendwie mittels Composer nachträglich bekannt machen/migrieren/oder wie auch immer?

    Habe den NamespaceClassLoader noch nicht installiert weil ich erst einmal ein Verständnis Problem habe und meine Contao Installation nicht vorschnell evtl. zerschießen will.
    Stehe irgendwie grad voll auf dem Schlauch, sorry.


    Vielen Dank für euer Verständnis und evtl. Vörschlagen/Tipp und Tricks/HowTo's
    Tippfehler unterliegen nicht dem Copyright und können frei weitergegeben werden.

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

    Standard

    Zitat Zitat von miniA4kuser Beitrag anzeigen
    Oder kann ich auch hier einfach den NamespaceClassLoader via Composer installieren und alles funktioniert wie gewünscht?
    Kannst du machen, würde ich aber nicht empfehlen. Passe lieber den "autoload" Bereich der composer.json deiner Extension entsprechend an.

  3. #3
    Contao-Nutzer Avatar von miniA4kuser
    Registriert seit
    14.11.2013.
    Beiträge
    130

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Passe lieber den "autoload" Bereich der composer.json deiner Extension entsprechend an.
    Heist also ich muss es nur hinbekommen eine composer.json für die Erweiterung zu schreiben und dann wie gewohnt via FTP in system/modules/ hochladen?
    Oder muss ich noch mehr an der Erweiterung anpassen?
    Tippfehler unterliegen nicht dem Copyright und können frei weitergegeben werden.

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

    Standard

    Zitat Zitat von miniA4kuser Beitrag anzeigen
    Heist also ich muss es nur hinbekommen eine composer.json für die Erweiterung zu schreiben und dann wie gewohnt via FTP in system/modules/ hochladen?
    Nein, das funktioniert nicht. Wenn du den Autoloader von Composer verwenden willst, musst du die Erweiterung auch über die Composer Paketverwaltung installieren lassen. Ich dachte das ist dein Ziel? Was genau möchtest du nun mit Composer überhaupt machen?

  5. #5
    Contao-Nutzer Avatar von miniA4kuser
    Registriert seit
    14.11.2013.
    Beiträge
    130

    Standard

    Die Erweiterung läuft unter Contao 3.5.x mit ER2 Erweiterungsverwaltung und installiertem NamespaceClassLoader.

    Jetzt wollte ich die unter Contao 3.5.x mit Composer Paketverwaltung zum laufen bringen.
    Tippfehler unterliegen nicht dem Copyright und können frei weitergegeben werden.

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

    Standard

    Zitat Zitat von miniA4kuser Beitrag anzeigen
    Jetzt wollte ich die unter Contao 3.5.x mit Composer Paketverwaltung zum laufen bringen.
    Das heißt, du willst die Erweiterung zukünftig über die Composer Paketverwaltung installieren und nicht mehr manuell?

  7. #7
    Contao-Nutzer Avatar von miniA4kuser
    Registriert seit
    14.11.2013.
    Beiträge
    130

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Das heißt, du willst die Erweiterung zukünftig über die Composer Paketverwaltung installieren und nicht mehr manuell?
    Je nachdem was einfacher ist. Wie wäre denn der korrekte Weg für Composer Paketverwaltung und manuell?

    Denke für Composer Paketverwaltung dann über Packagist bereitstellen, nachdem die composer.json korrekt erstellt wurde. Oder fehlt dann noch etwas an weiterer Anpassung?
    Tippfehler unterliegen nicht dem Copyright und können frei weitergegeben werden.

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

    Standard

    Zitat Zitat von miniA4kuser Beitrag anzeigen
    Wie wäre denn der korrekte Weg für Composer Paketverwaltung und manuell?
    Wenn du Namespace Class Loading verwenden willst und das Modul aber manuell installieren willst, musst du dich auch weiterhin auf die namespaceclassloader Extension verlassen.


    Zitat Zitat von miniA4kuser Beitrag anzeigen
    Denke für Composer Paketverwaltung dann über Packagist bereitstellen, nachdem die composer.json korrekt erstellt wurde. Oder fehlt dann noch etwas an weiterer Anpassung?
    Genau. Sonst fehlt nur noch der "autoloading" Eintrag in der composer.json.

  9. #9
    Contao-Nutzer Avatar von miniA4kuser
    Registriert seit
    14.11.2013.
    Beiträge
    130

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Genau. Sonst fehlt nur noch der "autoloading" Eintrag in der composer.json.
    Also müsste die composer.json minimal so aussehen:
    Code:
    {
        "name": "rhus/contao-my-extension",
        "description": "My contao extension for Contao Open Source CMS",
        "keywords": ["contao", "myextension"],
        "type": "contao-module",
        "license": "LGPL-3.0+",
        "require": {
            "php": "~5.4 || ~7.0",
            "contao/core-bundle":"^3.5.1 || ~4.1",
            "contao-community-alliance/composer-plugin":"~2.4 || ~3.0",
            "codefog/contao-haste": "~4.17"
        },
        "replace": {
            "contao-legacy/myextension": "self.version"
        },
        "autoload": {
            "psr-0": {
                "MyExtension\\": [
                    "library/"
                ]
            }
        },
        "extra": {
            "contao": {
                "sources": {
                    "": "system/modules/contao-my-extension"
                }
            }
        }
    }
    Tippfehler unterliegen nicht dem Copyright und können frei weitergegeben werden.

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

    Standard

    Ja, sieht grundsätzlich korrekt aus

  11. #11
    Contao-Nutzer Avatar von miniA4kuser
    Registriert seit
    14.11.2013.
    Beiträge
    130

    Standard

    Vielen lieben Dank für deine Hilfe.
    Tippfehler unterliegen nicht dem Copyright und können frei weitergegeben werden.

Aktive Benutzer

Aktive Benutzer

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

Lesezeichen

Lesezeichen

Berechtigungen

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