Maison  >  Article  >  outils de développement  >  Gestion des dépendances du compositeur (outil PHP)

Gestion des dépendances du compositeur (outil PHP)

藏色散人
藏色散人avant
2020-01-26 16:01:354198parcourir

Gestion des dépendances du compositeur (outil PHP)

Arrêtez de chercher des packages d'extension PHP Pour les langages modernes, les gestionnaires de packages sont fondamentalement standard. Java a Maven, Python a pip, Ruby a gem et Nodejs a npm. PHP utilise PEAR, mais PEAR présente de nombreux pièges :

● Le traitement des dépendances est sujet à des problèmes

● La configuration est très complexe

● Difficile d'utiliser l'interface de ligne de commande

Heureusement, nous disposons de Composer, un outil puissant de gestion des dépendances PHP. Il est open source et simple à utiliser, et il est facile de soumettre vos propres packages.

Par exemple, si nous n'utilisons pas de framework au début et que nous voulons un code de vérification, nous devons d'abord nous rendre sur Gihutb ou ailleurs pour trouver une classe de code de vérification, puis l'inclure dans le projet, et puis modifiez-le. Dès qu'il démarre, des problèmes peuvent survenir lors de la maintenance ultérieure du projet. S'il est open source sur Github, vous pouvez également cliquer sur Regarder pour voir si des bogues sont corrigés ou si de nouvelles versions sont publiées, et vous pouvez suivre les mises à niveau en temps opportun.

Si vous téléchargez trop de packs d'extension, vous aurez besoin de divers inclusions. Il peut également y avoir des conflits d'espace de noms en fonction du projet. Si le pack d'extension est mis à niveau, vous devrez le faire. téléchargez-le à nouveau Modifier, c'est très gênant. Ainsi est née la bibliothèque de gestion des dépendances Composer.

Ce qui précède sont les scénarios de demande les plus importants pour Compser.

1. Peut facilement installer et mettre à niveau les packs d'extension

2. Incluez simplement, pas besoin d'écrire include partout

3. Évitez les conflits d'espace de noms

Je vais habituellement sur Github, Code Cloud et d'autres plateformes pour trouver des packages d'extension, mais il existe désormais un site Web qui intègre tous les packages. En d'autres termes, la méthode de développement actuelle : recherchez d'abord sur packagist, puis utilisez Composer pour installer et. mise à niveau.

Installer Composer

Pour une installation infaillible, cliquez simplement sur https://getcomposer.org/Composer-Setup.exe, téléchargez et installez, ainsi que le programme d'installation sera Vous téléchargez Composer et définissez votre variable d'environnement PATH afin que vous puissiez simplement appeler Composer depuis n'importe quel répertoire.

Pendant le processus d'installation, vous devez faire attention à trouver le répertoire racine de php.exe et à sélectionner le chemin PHP correct. Je ne fournirai pas de captures d'écran ici car je ne l'ai pas encore téléchargé et je l'ai installé manuellement.

Le répertoire sélectionné devrait ressembler à ceci :

D:\phpStudy\php\php-7.0.12-nts\php.exe

Ce qui suit se concentrera sur l'installation manuelle. Je pense que cette méthode est très simple à utiliser :

Téléchargez d'abord un fichier composer.phar et placez le fichier phar dans le dossier développeur. Vous pouvez le faire comme vous le souhaitez, et il n'y a aucune limite quant au dossier dans lequel il doit être placé.

Ensuite ouvrez la fenêtre DOS, ou utilisez les touches de raccourci windows+R pour saisir cmd, utilisez la commande suivante, entrez d'abord le répertoire où vous avez placé le fichier phar

D:\developer\composer>echo @php "%~dp0composer.phar" %*>composer.bat

Le signe du succès l'installation consiste à le saisir sur la ligne de commande

composer -v

affiche le contenu suivant

Gestion des dépendances du compositeur (outil PHP)

Quand je vois cela, je suppose que Composer a été installé avec succès. Dans le réseau local chinois, l'utilisation de Composer est relativement lente, mais heureusement, il existe un miroir domestique. Exécutez la commande suivante pour passer au miroir domestique. Le miroir domestique met en cache tous les packages d'installation et les métadonnées sur le miroir domestique. salle informatique et accélérez-le via le CDN national, de sorte qu'il n'est pas nécessaire de faire ensuite une demande à un site Web étranger.

composer config -g repo.packagist composer https://packagist.phpcomposer.com

Faire cela équivaut à changer la configuration globalement. J'ai choisi de modifier le fichier de configuration composer.json du projet en cours :

{
    "repositories": {
        "packagist": {
            "type": "composer",
            "url": "https://packagist.phpcomposer.com"
        }
    }
}

Commandes communes du compositeur

selfupdate

<strong>selfupdate</strong>

Mettez à jour le compositeur lui-même, veuillez exécuter composer selfupdate fréquemment pour que Composer reste toujours le dernière version.

composer selfupdate

équivaut à

composer self-update

<p>dumpautoload<code><strong>dumpautoload</strong>

Lorsque nous modifions le chargement automatique dans le fichier composer.json, Composer dumpautoload doit être exécuté pour que le chargement automatique prenne effet immédiatement. Sans avoir à exécuter des commandes d'installation ou de mise à jour.

composer dumpautoload

est équivalent à

composer dump-autoload

la commande dumpautoload a deux options couramment utilisées :

--optimize (-o) : convertir le chargement automatique PSR-0/4 en classmap, par exemple des vitesses de chargement plus rapides. Ceci est particulièrement adapté aux environnements de production, mais son exécution peut prendre un certain temps, ce n'est donc pas actuellement la valeur par défaut.

--no-dev : Désactivez les règles de chargement automatique.

installer

composer install

Selon le fichier composer.lock (fichier de verrouillage) ou composer.json dans le fichier actuel répertoire, définissez les dépendances et installez les packages de dépendances. La commande

install vérifiera d'abord si le fichier de verrouillage composer.lock existe. S'il existe, elle téléchargera la version spécifiée dans le fichier composer.lock, en ignorant la définition dans le fichier composer.json.

# 查看 composer install 的帮助信息
composer install -h
# 只安装 require 中定义的依赖,而不安装 require-dev 中定义的依赖
composer install --no-dev

<code><strong>update</strong>update

Si vous souhaitez mettre à jour la version de votre dépendance, ou si vous modifiez la dépendance dans composer.json, vous voulez Composer effectue les opérations de mise à jour telles que définies dans le fichier composer.json, à l'aide de la commande update.

composer update

<strong>require</strong>

exiger

require 命令一般用来安装新的依赖包,并将依赖写入当前目录的 composer.json 文件中。

如果 composer.json 文件中,添加或改变了依赖,修改后的依赖关系将被安装或者更新。

<strong>composer require</strong>

 

你也可以直接在命令中指明需要安装的依赖包。

composer require barryvdh/laravel-ide-helper

 

--dev 选项和 require-dev 相对应。如果你的依赖包仅仅用于开发环境,建议加上 --dev 选项。

composer require --dev barryvdh/laravel-ide-helper

 

 

<strong>create-project</strong>

你可以使用 create-project 从现有的包中创建一个新的项目。

它相当于执行了 git clone 命令后,将这个包的依赖安装到它自己的 vendor 目录。

此命令有几个常见的用途:

你可以快速的部署你的应用。

你可以检出任何资源包,并开发它的补丁。

多人开发项目,可以用它来加快应用的初始化。

# 安装 Laravel 项目
composer create-project --prefer-dist laravel/laravel blog 5.5.*

 

如果没有指定版本号,就默认安装最新的版本。

--prefer-dist: 当有可用的包时,从 dist 安装。

phpStudy集成环境下 安装composer失败

报错提示:

The "https://getcomposer.org/versions" file could not be downloaded: failed to open stream: 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。
The "https://getcomposer.org/download/1.2.0/composer.phar.sig" file could not be downloaded: SSL: crypto enabling timeout
Failed to enable crypto
failed to open stream: operation failed

 

1、安装composer需要开启openssl拓展 而phpstudy默认是关闭的

2、将php目录下的ssleay32.dll,libeay32.dll以及php/ext文件夹下的:php_openssl.dll 3个文件拷贝到WINDOWS\system32 文件夹下。

3、openssl需要CA证书 phpstudy也是没有的

CA证书下载地址:

http://curl.haxx.se/docs/caextract.html

选中之后单击右键选择另存为

下载成功之后放到tmp文件夹下面

4、然后修改php.ini文件

openssl.cafile = "D:\phpStudy\tmp\cacert.pem"

 

5、重启phpStudy就可以了报错提示:

failed to open stream: HTTP request failed!

 

1、检查一下php的curl拓展是否开启

2、检查这两个配置是否开启。

allow_url_fopen = On
user_agent="PHP"

 

也可以这样配置 user_agent="Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)")

模拟浏览器访问也是一个不错的选择

3、开启之后重启重启phpStudy就可以了

 

PS: openssl.cafile 配置选项, 是 PHP 5.6.0. 以上的版本才支持的

更多composer相关技术文章,请访问composer栏目:https://www.php.cn/tool/composer/

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer