Integrieren Sie externe Bibliotheken mit Composer in OpenCart

Nahezu jedes Framework hat heutzutage eine integrierte Unterstützung für Composer, ein hervorragendes Werkzeug zur Verwaltung von Abhängigkeiten in PHP. OpenCart bildet dabei keine Ausnahme. In diesem Lernprogramm erfahren Sie, wie Sie mit Composer externe Bibliotheken in OpenCart integrieren.

Die Rolle des Komponisten in OpenCart

Seit der Einführung von OpenCart 2.2 wird der Composer-basierte Workflow unterstützt. Also machen Sie sich die neueste Version von OpenCart. Zum Zeitpunkt des Schreibens ist es 2.3.0.2. Stellen Sie sicher, dass Sie die neueste heruntergeladene Version installieren und konfigurieren, da dies später in diesem Artikel hilfreich ist.

Durchsuchen Sie die Verzeichnisstruktur und Sie werden einige Unterschiede zu früheren Versionen von OpenCart feststellen. Im Rahmen dieses Artikels sind die interessanten Kandidaten die composer.json Datei und die Verkäufer Verzeichnis. 

Lass uns schnell durch gehen composer.json Datei.

"name": "opencart / opencart", "type": "project", "description": "openCart", "Schlüsselwörter": ["opencart", "ecommerce", "framework", "opensource"], " Homepage ":" http://www.opencart.com "," Lizenz ":" GPL-3.0 + "," erfordern ": " cardinity / cardinity-sdk-php ":" ^ 1.0 "," braintree / braintree_php ": 3.2.0", "leafo / scssphp": "0.0.12", "divido / divido-php": "> = 1.1.1", "klarna / kco_rest": "^ 2.2", "php" : "> = 5.4.0"

Obwohl eine Diskussion der Composer-Syntax nicht in den Rahmen dieses Artikels fällt, gehen wir schnell durch, was in Laien ausgedrückt wird.

Erstens ist das OpenCart-Projekt selbst jetzt als Bibliothek verfügbar, sodass Sie es mit Composer selbst installieren können, ohne es manuell von der Site herunterladen zu müssen. Darüber hinaus müssen andere Bibliotheken von Drittanbietern ordnungsgemäß funktionieren, z. B. Divido, Leafo usw. Natürlich müssen Sie sich nicht darum kümmern, da dies automatisch ausgeführt wird, wenn Sie entsprechende Composer-Befehle ausführen.

Wenn Sie eine neue Bibliothek installieren, wird der zugehörige Eintrag zur hinzugefügt composer.json Datei. Die zugehörigen Bibliotheksdateien befinden sich unter der Verkäufer Verzeichnis auf der gleichen Ebene. Erforschen Sie einfach dieses Verzeichnis und Sie sollten sehen, dass die Bibliotheken bereits installiert sind!

Das Verkäufer Verzeichnis enthält auch autoload.php, wird von Composer selbst generiert, wodurch sichergestellt wird, dass die Bibliotheken automatisch in OpenCart geladen werden, sodass Sie sie sofort verwenden können. Natürlich beinhaltet OpenCart autoload.php beim Bootstrapping des Projekts.

Dies ist eine kurze Einführung in die Funktionsweise von Composer mit OpenCart. Zu Demonstrationszwecken installieren wir die beliebte PHPMailer-Bibliothek mit Composer.

Installieren Sie PHPMailer mithilfe von Composer

Der PHPMailer ist eine beliebte PHP-Bibliothek, die zum Versenden von E-Mails verwendet wird. Wir installieren es mit Composer in OpenCart. Gehen Sie zu Ihrem Terminal und ändern Sie das Verzeichnis so, dass Sie sich auf derselben Ebene befinden, auf der sich das befindet Verkäufer Verzeichnis und composer.json Datei residieren.

Führen Sie jetzt den Befehl aus Komponist benötigt phpmailer / phpmailer und drücken Sie die Eingabetaste! Angenommen, alles läuft gut, sollte es wie folgt aussehen.

$ composer erfordern phpmailer / phpmailer Version 4.2 für phpmailer / phpmailer ./composer.json wurde aktualisiert. Composer-Repositorys mit Paketinformationen werden geladen. Abhängigkeiten werden aktualisiert (einschließlich requir-dev) - phpmailer / phpmailer (v5.2.16) wird heruntergeladen: 100% phpmailer / phpmailer empfiehlt die Installation von league / oauth2-google (Erforderlich für die XOAUTH2-Authentifizierung von Google). Sperrdatei schreiben Autoload-Dateien erstellen

So, das war es! PHPMailer wird erfolgreich heruntergeladen und installiert. Das ist das Schöne an Composer! Überprüfen Sie dies, indem Sie in die Verkäufer Verzeichnis, und Sie finden es in der installiert phpmailer / phpmailer Verzeichnis.

Lass uns auch öffnen composer.json um zu sehen, wie es aussieht.

"name": "opencart / opencart", "type": "project", "description": "openCart", "Schlüsselwörter": ["opencart", "ecommerce", "framework", "opensource"], " Homepage ":" http://www.opencart.com "," Lizenz ":" GPL-3.0 + "," erfordern ": " cardinity / cardinity-sdk-php ":" ^ 1.0 "," braintree / braintree_php ": 3.2.0", "leafo / scssphp": "0.0.12", "divido / divido-php": "> = 1.1.1", "klarna / kco_rest": "^ 2.2", "php" : "> = 5.4.0", "phpmailer / phpmailer": "^ 5.2"

Wie Sie sehen können, ist der Eintrag "phpmailer / phpmailer": "^ 5.2" wird in die hinzugefügt benötigen Sektion. Das bedeutet, dass Ihr Projekt PHPMailer benötigt, um ordnungsgemäß zu funktionieren.

Nehmen wir an, Sie arbeiten mit anderen Entwicklern zusammen und müssen Ihre Arbeit regelmäßig teilen. In diesem Fall müssen Sie nur Ihr teilen composer.json Datei mit ihnen und der Rest wird von Composer selbst gehandhabt! Sie müssen nur das ausführen Komponist Update Befehl, und das sollte darauf achten, die erforderlichen Abhängigkeiten in ihrer Kopie zu installieren!

Nun haben wir PHPMailer mit Composer installiert, aber wie benutzt man es? Keine Sorge, ich werde dich nicht so bald verlassen - das ist genau das Rezept unseres nächsten Abschnitts!

So verwenden Sie die PHPMailer-Bibliothek?

Sie haben sich bereits einen Gefallen getan, indem Sie Composer für die Installation der PHPMailer-Bibliothek verwendet haben. In diesem Abschnitt werden Sie Zeuge, wie wir die Verwendung des Codes in diesem Code untersuchen.

Zum Beispiel erstellen wir eine ziemlich einfache benutzerdefinierte Controller-Datei, die Sie anrufen könnten, um eine E-Mail zu senden.

Öffnen Sie Ihren bevorzugten Texteditor und erstellen Sie beispiel / email.php unter dem Katalog / Controller Verzeichnis mit folgendem Inhalt.

Von = "[email protected]"; $ objPhpMailer-> FromName = "Sajal Soni"; $ objPhpMailer-> AddAddress ("[email protected]"); $ objPhpMailer-> WordWrap = 50; $ objPhpMailer-> IsHTML (true); $ objPhpMailer-> Subject = "Subject"; $ objPhpMailer-> Body = "

HTML-Body

"; $ objPhpMailer-> AltBody =" Plain Body "; if (! $ objPhpMailer-> Send ()) echo" Die Nachricht konnte nicht gesendet werden.

"; echo" Mailer Error: ". $ objPhpMailer-> ErrorInfo; exit; echo" Nachricht wurde gesendet "; exit;

Sie können es testen, indem Sie über http: //your-opencart-site-url/index.php? Route = example / email auf Ihre Website zugreifen.

In dem Index Methode können Sie sehen, dass wir die instanziiert haben PHPMailer Objekt ohne Include-Anweisungen, die die erforderlichen PHPMailer-Klassen enthalten hätten, wenn wir keinen Composer-basierten Workflow verwendet hätten. Sie haben es richtig gemacht, es wird von OpenCart selbst automatisch geladen. Erinnere dich daran autoload.php in dem Verkäufer Verzeichnis macht die ganze Magie!

Im Anschluss daran sind einige Standardfunktionen, die PHPMailer zum Senden einer E-Mail benötigt. Natürlich habe ich versucht, das Beispiel so einfach wie möglich zu halten, da die Diskussion über PHPMailer einen separaten Artikel erfordert!

Dies war eine schnelle und einfache Einführung in die Verwendung von Composer mit OpenCart zur Integration externer Bibliotheken.

Fazit

In diesem Artikel haben wir gerade die Oberfläche eines Composer-basierten Workflows in OpenCart gekratzt, um Bibliotheken von Drittanbietern in Ihrem Projekt zu verwenden. Nicht zu vergessen, dass Composer die Zukunft der Abhängigkeitsverwaltungstools in PHP ist. Daher ist es immer gut, sich die Hände schmutzig zu machen, da dies zum Standard in allen gängigen Frameworks wird.

Anfragen und Anregungen sind immer willkommen!