Classes per Composer installieren?

Dsimon24

Lieutenant
Registriert
Aug. 2016
Beiträge
595
Moin zusammen,

bevor ich jetzt was falsch mache, frage ich lieber noch mal nach.
Ich möchte den PHPmailer und html2pdf mittels Composer in einem Webprojekt installieren.
Auf den entsprechenden Seiten auf GitHub erhalte ich die folgenden composer.json-Files:

https://github.com/PHPMailer/PHPMailer/blob/master/composer.json
https://github.com/spipu/html2pdf/blob/master/composer.json

Ich merke gerade, dass ich keine Ahnung habe, wie ich das am saubersten installiere.
Reicht da eine composer.json - oder müsste ich ganz anders vorgehen? Das, was
ich im Internet finde, hilft mir leider nicht weiter, da ich unsicher bin, wie ich es
am saubersten anwenden sollte - vielleicht könnt ihr mir helfen?

VG
 
Du machst ein composer require $projekt und im Bootstrap von deinem Projekt bindest du den Composer Autoloader ein.
Code:
composer require phpmailer/phpmailer spipu/html2pdf
Und dann bei dir im Script
Code:
require __DIR__."/vendor/autoload.php";
oder wo halt das vendor-Verzeichnis bei dir liegt.
 
Yuuri schrieb:
Du machst ein composer require $projekt und im Bootstrap von deinem Projekt bindest du den Composer Autoloader ein.
Code:
composer require phpmailer/phpmailer spipu/html2pdf
Und dann bei dir im Script
Code:
require __DIR__."/vendor/autoload.php";
oder wo halt das vendor-Verzeichnis bei dir liegt.
Einfacher als Gedacht - danke dir! Den ersten Code führe ich dann in der claases-
Directory aus? Bzw. werden die Daten dann in der Directory geladen, aus der ich
den Befehl starte? - Dann brauche ich zuvor keine composer.json, korrekt?
 
Du führst solche Sachen direkt im Root-Directory des Projekts aus, sodass deine composer.json auch genau dort liegt. Deine composer.json sieht dann so aus:
Code:
{
    "require": {
        "phpmailer/phpmailer": "^6.1",
        "spipu/html2pdf": "^5.2"
    }
}
Die generierte composer.lock fügst du dem git ebenso hinzu, sodass die Packages auch gelockt sind. Falls nicht, würde entsprechend der composer.json installiert werden und du hättest eine andere Version laufen, wie mit der du lokal getestet hättest. Beim Deployen führst du dann composer install --no-dev --optimize-autoloader auf, dann werden die die entsprechenden Pakete aus der composer.lock wieder lokal installiert.
 
Zurück
Oben