Composer umgehen

Sprint

Erfahrenes Mitglied
Hallo zusammen,

ich soll bei einem unserer Projekte die Bezahlmöglichkeit von sofort.de integrieren. Die API soll/muß aber über Composer installiert werden und es ist bei unserem Server leider nicht möglich, Composer einzubinden.

Hat jemand eine Idee, wie man Composer hier umgehen kann? Immerhin handelt es sich ja um ganz normale PHP Dateien.

Danke schonmal,
Sprint
 
Hi,

composer selbst ist ja nur eine PHP-Datei. Warum lädst du diese nicht runter und startest diese? Anschliessend die Dateien per FTP hochladen und fertig.

Grüsse,
BK
 
Hi Bratkartoffel,

die Idee ist gut und ich wollte es gerade ausprobieren. Allerdings ist es eine .phar Datei und da sind noch so einige Nicht-PHP Teile enthalten, die eindeutig für den Server bestimmt sind.
 
Windows hilft mir nichts, aber auch auf OSX hab ich die prinzipielle Installation hinbekommen. Aber auch anschließend geht eine vernünftige Installation von Paketen nur über die Konsole.

Inzwischen habe ich aber Composercat gefunden, ein GUI für Composer für OSX, Linux und Windows. Externe Server werden "noch" nicht unterstützt, wird aber wohl noch kommen. Für das aktuelle Projekt hat sich das aber eh erledigt, da wir sofort.de vorerst nicht einsetzen werden.
 
Composer ist kein Tool, das zentral dazu gedacht ist, auf dem Server/Produktivsystem ausgeführt zu werden. Es ist „eher“ ein lokales Setup-Tool für das Entwicklungssystem.

Ein üblicher Workflow sieht so aus:

1. Auf dem lokalen System existiert im Projektverzeichnis eine composer.json-Datei, in der Dependencies (und sinnvollerweise auch Autoloading für eigenen Code) definiert sind.
2. Lokal werden mit composer install oder composer update die Dependencies installiert und das Autoloading generiert. Das erzeugt ein vendor-Verzeichnis, in dem alle benötigten Dateien liegen.
3. In der Anwendung wird mit require __DIR__ . '/vendor/autoload.php'; das generierte Autoloading eingebunden. Durch diese Zeile stehen dann überall in der Anwendung die Dependencies bereit.
4. Für das Deployment muss neben den üblichen Projektdateien nun lediglich das vendor-Verzeichnis mit auf das Produktivsystem geschoben werden. Die Composer-Dateien (composer.json und composer.lock) und Composer selbst in „installierter“ Form (auf System-/User-Ebene oder als composer.phar) werden produktiv nicht benötigt.
 
Aha, das muß einem dummen Menschen auch gesagt werden. Ich war immer davon ausgegangen, daß es auf dem Server läuft um auch immer die aktuellen Versionen bereitzustellen.

Gut, dann macht das alles auch Sinn. Für den Moment hilft es eh nicht, aber für die Zukunft weiß ich Bescheid. Danke für die Erklärung.
 
Zurück