Integrați Bibliotecile externe în OpenCart utilizând Composer

Aproape orice cadru din zilele noastre are built-in suportul Compozitorului, un instrument minunat de gestionare a dependenței în PHP, iar OpenCart nu face excepție. În acest tutorial, veți învăța cum să utilizați Composer pentru a integra bibliotecile externe în OpenCart.

Rolul compozitorului în OpenCart

De la introducerea OpenCart 2.2, fluxul de lucru bazat pe compozitori este suportat. Deci, mergeți mai departe și apucați ultima versiune a OpenCart; de la scris acest lucru, este 2.3.0.2. Asigurați-vă că instalați și configurați cea mai recentă versiune pe care ați descărcat-o, deoarece aceasta va fi utilă mai târziu în articol.

Explorați structura de directoare și veți observa anumite diferențe în comparație cu versiunile anterioare ale OpenCart. În contextul acestui articol, candidații interesați sunt composer.json și fișierul furnizor director. 

Să trecem rapid prin composer.json fişier.

"opencart", "ecomerce", "framework", "opensource"], "opencart", " pagina principală ":" http://www.opencart.com "," licență ":" GPL-3.0 + "," solicită ": " cardinity / cardinity-sdk-php ":" ^ 1.0 ", braintree / braintree_php ":" 3.2.0 "," leafo / scssphp ":" 0.0.12 "," divido / divido-php ":"> 1.1.1 "," klarna / : "> = 5.4.0"

Deși o discuție despre sintaxa compozitorului nu se află în sfera de aplicare a acestui articol, să trecem rapid la ceea ce se spune în termeni simpli.

În primul rând, proiectul OpenCart în sine este acum disponibil ca o bibliotecă, astfel încât să îl puteți instala utilizând Composer în sine, fără să îl descărcați manual de pe site. Mai mult, de asemenea, este necesar ca alte biblioteci terțe să funcționeze corect, cum ar fi divida, leafo etc. Desigur, nu trebuie să vă faceți griji, deoarece aceasta va fi gestionată automat atunci când rulați comenzile Composer asociate.

Când instalați o nouă bibliotecă, intrarea corespunzătoare va fi adăugată la composer.json fişier. Fișierele legate de bibliotecă sunt plasate sub furnizor director la același nivel. Doar explorați acel director și ar trebui să vedeți că bibliotecile sunt deja instalate!

furnizor directorul conține, de asemenea autoload.php, generate de Composer în sine, care asigură că bibliotecile sunt încărcate automat în OpenCart, astfel încât să puteți folosi imediat. Desigur, include OpenCart autoload.php în timp ce bootstrapping proiectul.

Deci, este o introducere rapidă a modului în care Compozitor lucrează cu OpenCart. În scop demonstrativ, vom instala biblioteca populară PHPMailer utilizând Composer.

Instalați PHPMailer utilizând Composer

PHPMailer este o populară bibliotecă PHP care este utilizată pentru a trimite e-mailuri. O vom instala în OpenCart folosind Composer. Deci, du-te la terminalul dvs. și schimbați directorul, astfel încât să vă aflați la același nivel în cazul în care furnizor director și composer.json fișier rezidă.

Acum, conduceți comanda compozitorul cere phpmailer / phpmailer și apăsați enter! Presupunând că totul merge bine, ar trebui să pară următoarele.

$ compozitorul necesita phpmailer / phpmailer Folosind versiunea 5.2 pentru phpmailer / phpmailer ./composer.json a fost actualizata Incarca fisierele de compozitori cu informatii despre pachete Actualizarea dependentelor (inclusiv necesitatea dev) - Instalarea phpmailer / phpmailer (v5.2.16) Descărcarea: 100% phpmailer / phpmailer sugerează instalarea liga / oauth2-google (autentificarea necesară pentru Google XOAUTH2) scrierea fișierului de blocare Generarea fișierelor autoload

Deci asta este! PHPMailer este descărcat și instalat cu succes, și asta e frumusețea compozitorului! Verificați dacă căutați în furnizor director, și veți găsi instalat în PHPMailer / PHPMailer director.

De asemenea, hai să ne deschidem composer.json pentru a vedea cum arată.

"opencart", "ecomerce", "framework", "opensource"], "opencart", " pagina principală ":" http://www.opencart.com "," licență ":" GPL-3.0 + "," solicită ": " cardinity / cardinity-sdk-php ":" ^ 1.0 ", braintree / braintree_php ":" 3.2.0 "," leafo / scssphp ":" 0.0.12 "," divido / divido-php ":"> 1.1.1 "," klarna / : "> = 5.4.0", "phpmailer / phpmailer": "^ 5.2"

După cum puteți vedea, intrarea "phpmailer / phpmailer": "^ 5.2" este adăugat în necesita secțiune. Deci, înseamnă că proiectul dvs. necesită ca PHPMailer să funcționeze corect.

Să presupunem că lucrați cu alți dezvoltatori și că trebuie să vă împărtășiți în mod regulat munca. În acest caz, trebuie doar să vă partajați composer.json fișier cu ei, iar restul va fi manipulat de către Compozitor în sine! Trebuie doar să ruleze compozitor comanda și care ar trebui să aibă grijă de instalarea dependențelor necesare în copia lor!

Acum, am instalat PHPMailer folosind Composer, dar cum să îl folosim? Nu vă faceți griji, nu vă voi lăsa în curând - asta este exact rețeta următoarei secțiuni!

Cum se folosește Biblioteca PHPMailer?

V-ați făcut deja o favoare folosind Composer pentru a instala biblioteca PHPMailer și o veți vedea în această secțiune pe măsură ce vom explora cât de ușor este să utilizați în cod.

De exemplu, vom construi un fișier de comandă personalizat destul de simplu pe care ați putea să-l apelați pentru a trimite un e-mail.

Deschideți editorul de text preferat și creați-l exemplu / email.php sub Catalog / controler cu următorul conținut.

De la = "[email protected]"; $ objPhpMailer-> DinName = "Sajal Soni"; $ ObjPhpMailer-> AddAddress ( "[email protected]"); $ objPhpMailer-> WordWrap = 50; $ ObjPhpMailer-> IsHTML (true); $ objPhpMailer-> Subiect = "Subiect"; $ objPhpMailer-> Body = "

Corpul HTML

"; $ objPhpMailer-> AltBody =" Body Plain "; dacă (! $ objPhpMailer-> Send ()) echo" Mesajul nu a putut fi trimis.

"echo" Eroare mailer: "$ objPhpMailer-> ErrorInfo; exit; echo" Mesajul a fost trimis "; ieșire;

Puteți să-l testați accesând site-ul dvs. prin http: //your-opencart-site-url/index.php? Route = example / email.

În index , puteți vedea că am instanțiat PHPMailer obiect fără nici o declarație care să includă clasele PHPMailer necesare dacă nu am fi utilizat un flux de lucru bazat pe compozitori. Ați reușit, este încărcat automat de OpenCart în sine. Amintiți-vă că autoload.php în furnizor directorul face tot magia!

În urma acestui lucru sunt câteva lucruri destul de standard cerute de PHPMailer pentru a trimite un e-mail. Desigur, am încercat să păstrez exemplul cât mai simplu posibil, deoarece discuția despre PHPMailer necesită un articol separat!

Deci, aceasta a fost o introducere rapidă și simplă a modului în care ați putea folosi compozitorul cu OpenCart pentru a integra bibliotecile externe.

Concluzie

În acest articol, tocmai am zgâriat suprafața unui flux de lucru bazat pe compozitori în OpenCart pentru a folosi bibliotecile terțelor părți în proiectul dvs. Să nu mai vorbim că compozitorul este viitorul instrumentelor de gestionare a dependenței în PHP. Deci, este întotdeauna bine să vă mâncați mâinile cu asta, deoarece devine standard în toate cadrele populare.

Întrebările și sugestiile sunt întotdeauna apreciate!

Cod