Integrera externa bibliotek i OpenCart Använda Kompositör

Nästan alla ramar har idag inbyggt stöd av Composer, ett fantastiskt verktyg för beredskapshantering i PHP, och OpenCart är inget undantag. I den här handledningen lär du dig att använda Kompositör för att integrera externa bibliotek i OpenCart.

Kompositörens roll i OpenCart

Sedan introduktionen av OpenCart 2.2 stöds det Composer-baserade arbetsflödet. Så fortsätt och ta den senaste versionen av OpenCart; som att skriva detta är det 2.3.0.2. Se till att du installerar och konfigurerar den senaste versionen som du har laddat ner, vilket kommer att vara användbart senare i artikeln.

Utforska katalogstrukturen och du kommer att märka vissa skillnader jämfört med tidigare versioner av OpenCart. I samband med denna artikel är de intressanta kandidaterna de composer.json fil och Säljare katalog. 

Låt oss snabbt gå igenom composer.json fil.

("opencart", "opencart", "type" hemsida ":" http://www.opencart.com "," licens ":" GPL-3.0 + "," kräver ": " kardinitet / kardinitet-sdk-php ":" ^ 1.0 "," braintree / braintree_php ":" 3.2.0 "," leafo / scssphp ":" 0.0.12 "," divido / divo-php ":"> = 1.1.1 "," klarna / kco_rest ":" ^ 2.2 "," php " : "> = 5.4.0"

Även om en diskussion om Composer-syntaxen inte ligger inom ramen för denna artikel, låt oss snabbt gå igenom vad det står i lekman.

Först är OpenCart-projektet själv tillgängligt som ett bibliotek, så du kan installera det med Composer själv utan att manuellt ladda ner den från webbplatsen. Vidare kräver det också att andra tredjepartsbibliotek ska fungera på rätt sätt, som divis, leafo etc. Det behöver du inte oroa dig för eftersom det kommer att hanteras automatiskt när du kör relaterade kompositörs kommandon.

När du installerar ett nytt bibliotek läggs den relaterade posten till composer.json fil. De relaterade biblioteksfilerna placeras under Säljare katalog på samma nivå. Utforska bara den katalogen och du bör se att biblioteken redan är installerade!

De Säljare katalog innehåller också autoload.php, genereras av Composer själv, vilket säkerställer att biblioteken laddas automatiskt i OpenCart, så att du kan använda den direkt. Naturligtvis inkluderar OpenCart autoload.php medan projektet startas upp.

Så det är en snabb introduktion av hur Composer arbetar med OpenCart. För demonstrationsändamål installerar vi det populära PHPMailer-biblioteket med hjälp av Kompositör.

Installera PHPMailer med hjälp av kompositören

PHPMailer är ett populärt PHP-bibliotek som används för att skicka e-post. Vi installerar det i OpenCart med Composer. Så gå till din terminal och ändra katalogen så att du är på samma nivå där Säljare katalog och composer.json filen är bosatt.

Nu kör kommandot kompositör kräver phpmailer / phpmailer och tryck på enter! Förutsatt att allt går bra, ska det se ut som följande.

$ komponent kräver phpmailer / phpmailer Använda version ^ 5.2 för phpmailer / phpmailer ./composer.json har uppdaterats Laddar kompositregister med paketinformation Uppdatering av beroenden (inklusive krav-dev) - Installera phpmailer / phpmailer (v5.2.16) Nedladdning: 100% phpmailer / phpmailer föreslår installering av liga / oauth2-google (Behövs för Google XOAUTH2-autentisering) Skriva låsfil Generera autoload-filer

Så det är det! PHPMailer laddas ner och installeras framgångsrikt, och det är kompositörens skönhet! Verifiera det genom att titta på Säljare katalog, och du hittar den installerad i phpmailer / phpmailer katalog.

Låt oss också öppna composer.json för att se hur det ser ut.

("opencart", "opencart", "type" hemsida ":" http://www.opencart.com "," licens ":" GPL-3.0 + "," kräver ": " kardinitet / kardinitet-sdk-php ":" ^ 1.0 "," braintree / braintree_php ":" 3.2.0 "," leafo / scssphp ":" 0.0.12 "," divido / divo-php ":"> = 1.1.1 "," klarna / kco_rest ":" ^ 2.2 "," php " : "> = 5.4.0", "phpmailer / phpmailer": "^ 5.2"

Som du kan se, posten "phpmailer / phpmailer": "^ 5.2" läggs till i fordra sektion. Så det innebär att ditt projekt kräver att PHPMailer fungerar korrekt.

Låt oss anta att du arbetar med andra utvecklare och behöver dela ditt arbete regelbundet. I så fall behöver du bara dela din composer.json filen med dem och resten kommer att hanteras av kompositören själv! De behöver bara springa kompositör uppdatering kommando, och det bör ta hand om att installera de nödvändiga beroenden i deras kopia!

Nu har vi installerat PHPMailer med Composer, men hur använder vi det? Oroa dig inte, jag kommer inte att lämna dig så snart - det är exakt receptet på nästa avsnitt!

Så här använder du PHPMailer-biblioteket?

Du har redan gjort en tjänst genom att använda Kompositör för att installera PHPMailer-biblioteket, och du kommer att bevittna det i det här avsnittet när vi undersöker hur enkelt det är att använda i koden.

Till exempel bygger vi en ganska enkel anpassad kontrollerfil som du kan ringa för att skicka ett mail.

Öppna din favorit textredigerare och skapa exempel / email.php under katalog / styrenheten katalog med följande innehåll.

Från = "avsä[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 "; om (! $ objPhpMailer-> Skicka ()) echo" Meddelandet kunde inte skickas.

"echo" Mailer Error: ". $ objPhpMailer-> ErrorInfo; exit; echo" Meddelandet har skickats "; avsluta;

Du kan testa det genom att komma åt din webbplats via http: //your-opencart-site-url/index.php? Route = example / email.

I index metod kan du se att vi har instanserat PHPMailer objekt utan några uttalanden som skulle ha inkluderat de nödvändiga PHPMailer-klasserna om vi inte använt ett Composer-baserat arbetsflöde. Du har det rätt, det laddas automatiskt av OpenCart själv. Minnas det autoload.phpSäljare katalog gör alla de magiska!

Efter det är några ganska vanliga saker som krävs av PHPMailer att skicka ett mail. Naturligtvis har jag försökt att hålla exemplet så enkelt som möjligt eftersom diskussionen om PHPMailer kräver en separat artikel!

Så det var en snabb och enkel introduktion av hur du kan använda Kompositör med OpenCart för att integrera externa bibliotek.

Slutsats

I den här artikeln har vi bara repat ytan på ett Composer-baserat arbetsflöde i OpenCart för att använda tredje parts bibliotek i ditt projekt. För att inte tala om att Kompositören är framtiden för beredskapsverktyg i PHP. Så det är alltid bra att få händerna smutsiga med det eftersom det blir standard i alla populära ramar.

Frågor och förslag är alltid uppskattade!