Neu Connector ohne phar laufen lassen

bork

Sehr aktives Mitglied
26. Januar 2007
852
104
Hallo,

kann mir jemand sagen, wie man die JTL-Connectoren ohne phar Archiv verwenden kann? Im GitHub liegen die Dateien ja ungepackt (also nicht im phar) vor, aber die ganzen Abhängigkeiten sind ja falsch.

Beispiel Gambio:
https://github.com/jtl-software/connector-gambio-gx3

Über die index.php wird die bootstrap.php eingebunden, soweit klar!
https://github.com/jtl-software/connector-gambio-gx3/blob/master/index.php

In der bootstrap.php gibt es offenbar eine Abfrage, ob man mit phar arbeitet oder ohne:

<?php
defined('CONNECTOR_DIR') || define("CONNECTOR_DIR", __DIR__);
defined("CONNECTOR_VERSION") || define("CONNECTOR_VERSION", file_get_contents(__DIR__.'/version'));

if (file_exists(__DIR__ . '/vendor/autoload.php')) {
$loader = require_once __DIR__."/vendor/autoload.php";
} else {
$loader = require_once 'phar://' . __DIR__ . '/connector.phar/vendor/autoload.php';
}

$loader->add('', CONNECTOR_DIR . '/plugins');

Also wenn es die vendor/autoload.php gibt, dann ohne Phar, sonst mit Phar. Das Doofe ist nur, dass es sowohl in den Builds mit Phar, die man im Kundencenter herunterladen kann, als auch in den ungepackten Dateien in Github, keinen Ordner "vendor" gibt und keine Datei "autoload.php". Sind das virtuelle Sachen, von composer?

Also meine Hauptfrage: Wie bekomme ich den Connector ohne phar zum Einsatz?

Danke!
 

David Duchrow

Mitglied
30. März 2022
7
2
Erst mal zu der Nebenfrage:
Der Ordner "vendor" wird tatsächlich, wie Du schon vermutet hast, mit allen Inhalten vom Composer geladen.

Ich habe meinen Connector aus Github gezogen und die Abhängigkeiten über Composer geladen.

Wenn PHP und composer installiert sind, sollte, wenn ich mich richtig erinnere, ein einfaches
php composer update
reichen.

Danach lag bei mir der Ordner "vendor" mit allen Inhalten incl. autoload.php vor.

Das scheint ganz automatisch die Variante ohne .phar zu sein.
Probleme mit falschen Abhängigkeiten gab es nicht.

Das wird über die im Projekt enthaltene Datei composer.json gesteuert.
Siehe: https://getcomposer.org/doc/01-basic-usage.md#composer-json-project-setup
Ich habe bei mir nur noch ein paar Pakete, die ich für meinen eigenen Code brauchte, hinzugefügt.

Tipp:
Falls Composer nicht installiert ist, kann die Datei composer.phar im Projektordner die Composer-Installation ersetzen:
php composer.phar update
Die richtige Version der composer.phar für die eingesetzte PHP-Version findet sich hier:
https://getcomposer.org/download/
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: bork

Ähnliche Themen