Maison > Article > outils de développement > Comment optimiser le fournisseur via Composer dans YII2
La colonne suivante du tutoriel d'utilisation du compositeur présentera comment YII2 optimise les fournisseurs via le compositeur. J'espère que cela sera utile aux amis dans le besoin !
Cet article aborde les problèmes rencontrés lors de l'installation du framework Yii2 et de l'optimisation de Vendor via l'outil composer. Il est convenu que le lecteur a une certaine compréhension des principes de base de composer. et a l'expérience pratique de l'installation du framework Yii2.
Nous rencontrons souvent un type de problème dans la communauté Yii2, c'est-à-dire après l'installation de la version officiellement recommandée
1 Pourquoi n'y a-t-il pas de dossier fournisseur ?
Dans Yii2, le fournisseur est un fichier de bibliothèque dépendant téléchargé par composer. Le code officiel du modèle de projet n'a que son propre fichier de projet, et le framework yii et les autres bibliothèques de classes dont il dépend sont tous enregistrés dans composer.json. Installez simplement composer, puis installez ou mettez à jour.
2 Dans le projet Yii2 que j'ai installé moi-même, les packages du fournisseur sont introuvables dans composer.json, et la plupart de ces packages ne sont pas nécessaires pour le moment. Comment puis-je les supprimer et conserver les. fournisseur minimisé ?
Scénario vérifié
2.1 Utilisez composer remove pour supprimer le package
Le package supprimé doit être enregistré dans composer.json sous le dossier du fournisseur et être supprimé après la suppression du package Dans le même temps, tous les packages seront réinstallés.
2.2 Utilisez composer update --no-dev pour supprimer le package
Le package en mode développement sera supprimé directement. Après la suppression, exécutez le projet et une erreur sera directement signalée. Par conséquent, tous les packages en mode développement ne peuvent pas être supprimés
2.3 Utilisez Remove codeception/verify pour supprimer la plupart des packages en mode test. are a été supprimé D'après mon expérience de développement passée, les composants liés aux tests unitaires ne sont pas utilisés, vous pouvez donc utiliser la commande Remove Codeception/Verify pour rationaliser le package Yii2 Composer. Cette commande est un élément clé de l’optimisation du package composer.
3 Lorsque plusieurs projets sont sous un seul projet, des problèmes de performances de chargement seront-ils causés par le chargement d'un trop grand nombre de packages de composition pour la première fois ? Le chargement différé intégré peut-il résoudre ce problème ?
Les composants manifestement inutiles pour le projet peuvent être supprimés directement. Quant à l'impact sur les performances, nous ne l'avons pas encore rencontré. Le chargement paresseux est considéré comme une optimisation au niveau du framework, et je choisis de croire en sa capacité
4 Invite d'inexistence de répertoire ou de fichier causée par un problème de chemin du fournisseur
Supposons que le chemin de notre projet est E :sourcestemplates
Lorsqu'il y a un problème avec le chemin du fournisseur, les problèmes similaires suivants se produiront, c'est-à-dire qu'un certain package de composition n'existe pas
Invalid Parameter – yiibaseInvalidParamException The file or directory to be published does not exist: E:sourcestemplatesbackendvendorbower-asset/jquery/dist
L'absence du package de fichiers est simplement un symptôme. La raison principale est que le chemin du fournisseur et le fichier de configuration du projet ne correspondent pas.
Sous le fichier de configuration principal main.php du projet, il y a l'entrée de configuration pour le fournisseur, la valeur spécifique de VendorPath, à combiner avec le chemin du fichier de configuration, veuillez vous référer aux deux images suivantes et configuration du chemin associé
Premier tableau
'vendorPath' => dirname(dirname(__DIR__)) . '/vendor',
Deuxième tableau
'vendorPath' => dirname(dirname(dirname(__DIR__))) . '/vendor',
Résumé :
Nous devons prendre en compte les trois problèmes suivants lors de l'utilisation de compser
1 La différence entre l'installation de composer et la mise à jour de composer
2 Gestion et stabilité des versions de Composer
3 Public Comment générer et maintenir des composants sous forme de packages de composition
Pour les différences entre les commandes suivantes, veuillez vous référer aux informations réseau
composer install
devrait être le plus. commande couramment utilisée. Composer téléchargera le package en fonction du package d'installation local composer.json. Placez le package dans le répertoire du fournisseur sous le projet et placez les informations sur la version du package lors de l'installation dans composer.lock pour verrouiller la version.
En fait, lors de l'installation, si la version de composer.lock s'avère être la même que la version actuelle. Si la version du code dans le répertoire du fournisseur est la même, Composer ne fera rien. vous permet de travailler dans la version actuelle sans obtenir la dernière version du packagecomposer updatecomposer La version du package dans le fichier .lock sera mise à jour et les packages enregistrés dans composer.json seront mis à jour vers le. dernier. La commande composer update doit être utilisée avec prudence. Si le composant a été référencé dans le projet à l'aide de composer et devient un composant public, les commandes de composer doivent être utilisées avec prudence. Bien entendu, une personne dédiée doit être responsable de la maintenance et n'a pas de partage. autorisations d'opération. Pour plus de didacticiels sur l'utilisation du compositeur, veuillez visiter la colonne
Tutoriel graphique sur l'utilisation des commandes du compositeur !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!