Intégration de bibliothèques externes dans OpenCart à l'aide de Composer

De nos jours, presque toutes les infrastructures prennent en charge Composer, un formidable outil de gestion des dépendances en PHP, et OpenCart ne fait pas exception. Dans ce tutoriel, vous allez apprendre à utiliser Composer pour intégrer des bibliothèques externes dans OpenCart..

Le rôle du compositeur dans OpenCart

Depuis l'introduction d'OpenCart 2.2, le flux de travail basé sur Composer est pris en charge. Alors allez-y et prenez la dernière version d'OpenCart; au moment d'écrire ceci, c'est 2.3.0.2. Assurez-vous d’installer et de configurer la dernière version que vous avez téléchargée car cela vous sera utile plus loin dans cet article..

Explorez la structure des répertoires et vous remarquerez certaines différences par rapport aux versions précédentes d'OpenCart. Dans le contexte de cet article, les candidats intéressants sont les suivants: composer.json fichier et le vendeur annuaire. 

Passons rapidement à travers le composer.json fichier.

"name": "opencart / opencart", "type": "projet", "description": "OpenCart", "keywords": ["opencart", "ecommerce", "framework", "opensource"], " page d'accueil ":" http://www.opencart.com "," licence ":" GPL-3.0 + "," require ": " cardinity / cardinity-sdk-php ":" ^ 1.0 "," braintree / braintree_php ":" 3.2.0 "," leafo / scssphp ":" 0.0.12 "," diviser / diviser-php ":"> = 1.1.1 "," klarna / kco_rest ":" ^ 2.2 "," php " : "> = 5.4.0"

Bien qu'une discussion sur la syntaxe Composer soit hors du propos de cet article, examinons rapidement ce qui est écrit en profane.

Premièrement, le projet OpenCart lui-même est maintenant disponible en tant que bibliothèque. Vous pouvez donc l'installer à l'aide de Composer lui-même sans le télécharger manuellement à partir du site. De plus, cela nécessite également que d'autres bibliothèques tierces fonctionnent correctement, telles que divido, leafo, etc. Bien entendu, vous n'avez pas à vous en soucier, cela sera géré automatiquement lorsque vous exécuterez des commandes Composer associées..

Lorsque vous installez une nouvelle bibliothèque, l’entrée associée sera ajoutée au répertoire. composer.json fichier. Les fichiers de bibliothèque associés sont placés sous le vendeur répertoire au même niveau. Explorez simplement ce répertoire et vous devriez voir que les bibliothèques sont déjà installées!

le vendeur répertoire contient également autoload.php, généré par Composer lui-même, ce qui garantit que les bibliothèques sont chargées automatiquement dans OpenCart, afin que vous puissiez l’utiliser immédiatement. Bien sûr, OpenCart comprend autoload.php en amorçant le projet.

Voilà donc une rapide introduction au fonctionnement de Composer avec OpenCart. À des fins de démonstration, nous allons installer la bibliothèque PHPMailer à l’aide de Composer..

Installer PHPMailer à l'aide de Composer

PHPMailer est une bibliothèque PHP populaire utilisée pour envoyer des courriels. Nous allons l'installer dans OpenCart en utilisant Composer. Alors, allez sur votre terminal et changez le répertoire afin que vous soyez au même niveau où le vendeur répertoire et composer.json dossier réside.

Maintenant, lancez la commande composeur nécessite phpmailer / phpmailer et appuyez sur Entrée! En supposant que tout se passe bien, cela devrait ressembler à ce qui suit.

$ composer require phpmailer / phpmailer Utilisation de la version ^ 5.2 pour phpmailer / phpmailer ./composer.json a été mis à jour Chargement des référentiels du compositeur avec les informations de paquet Mise à jour des dépendances (y compris require-dev) - Installation de phpmailer / phpmailer (v5.2.16): 100% phpmailer / phpmailer suggère d'installer la ligue / oauth2-google (nécessaire pour l'authentification Google XOAUTH2) Écriture d'un fichier verrou Génération de fichiers à chargement automatique

Alors c'est tout! PHPMailer est téléchargé et installé avec succès, et c'est la beauté de Composer! Vérifiez cela en regardant dans le vendeur répertoire, et vous le trouverez installé dans le phpmailer / phpmailer annuaire.

Aussi, ouvrons composer.json pour voir à quoi ça ressemble.

"name": "opencart / opencart", "type": "projet", "description": "OpenCart", "keywords": ["opencart", "ecommerce", "framework", "opensource"], " page d'accueil ":" http://www.opencart.com "," licence ":" GPL-3.0 + "," require ": " cardinity / cardinity-sdk-php ":" ^ 1.0 "," braintree / braintree_php ":" 3.2.0 "," leafo / scssphp ":" 0.0.12 "," diviser / diviser-php ":"> = 1.1.1 "," klarna / kco_rest ":" ^ 2.2 "," php " : "> = 5.4.0", "phpmailer / phpmailer": "^ 5.2"

Comme vous pouvez le voir, l'entrée "phpmailer / phpmailer": "^ 5.2" est ajouté dans le exiger section. Cela signifie donc que votre projet nécessite que PHPMailer fonctionne correctement.

Supposons que vous travaillez avec d'autres développeurs et que vous devez partager votre travail régulièrement. Dans ce cas, il vous suffit de partager votre composer.json fichier avec eux et le reste sera traité par Composer lui-même! Ils ont juste besoin de courir le mise à jour du compositeur commande, et qui devrait s’occuper d’installer les dépendances requises dans leur copie!

Nous avons maintenant installé PHPMailer using Composer, mais comment l’utiliser? Ne vous inquiétez pas, je ne vous quitterai pas de si tôt - c'est exactement la recette de notre prochaine section!

Comment utiliser la bibliothèque PHPMailer?

Vous avez déjà créé un service en utilisant Composer pour installer la bibliothèque PHPMailer. Vous en serez témoin dans cette section, à mesure que nous explorons la simplicité d'utilisation du code..

Par exemple, nous allons créer un fichier de contrôleur personnalisé assez simple que vous pouvez appeler pour envoyer un courrier électronique..

Ouvrez votre éditeur de texte préféré et créez exemple / email.php sous le catalogue / contrôleur répertoire avec le contenu suivant.

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

Corps HTML

"; $ objPhpMailer-> AltBody =" Corps simple "; if (! $ objPhpMailer-> Send ()) echo" Le message n'a pas pu être envoyé..

"; echo" Erreur de messagerie: ". $ objPhpMailer-> ErrorInfo; exit; echo" Le message a été envoyé "; exit;

Vous pouvez le tester en accédant à votre site via http: //votre-opencart-site-url/index.php? Route = exemple / email.

dans le indice méthode, vous pouvez voir que nous avons instancié la PHPMailer object sans les instructions include qui auraient inclus les classes PHPMailer requises si nous n’avions pas utilisé un flux de travail basé sur Composer. Vous avez bien compris, il est chargé automatiquement par OpenCart lui-même. Rappeler que autoload.php dans le vendeur répertoire fait toute la magie!

À la suite de cela, PHPMailer demande à quelque chose d’assez standard d’envoyer un courrier électronique. Bien sûr, j'ai essayé de garder l'exemple aussi simple que possible car la discussion sur PHPMailer nécessite un article séparé.!

C'était donc une introduction simple et rapide à l'utilisation de Composer avec OpenCart pour intégrer des bibliothèques externes..

Conclusion

Dans cet article, nous venons de gratter la surface d'un flux de travail basé sur Composer dans OpenCart pour utiliser des bibliothèques tierces dans votre projet. Sans oublier que Composer est l'avenir des outils de gestion des dépendances en PHP. Il est donc toujours bon de se salir les mains car cela devient la norme dans tous les cadres populaires..

Les requêtes et suggestions sont toujours appréciées!