Table des matières
1 Introduction
2. Configuration système requise
3. Installer (ubuntu)
4.使用
5.自动加载
6.Packagist / Composer 中国全量镜像
7.使用 Composer 中的 autoload 实现自动加载命名空间
Maison outils de développement composer Étapes d'installation simples et utilisation de php composer

Étapes d'installation simples et utilisation de php composer

Jan 12, 2022 pm 04:07 PM
composer linux php

Cet article est écrit par la colonne didacticiel composer pour vous présenter les étapes d'installation concises de l'installation de php composer. J'espère qu'il sera utile aux amis qui en ont besoin !

1 Introduction

Composer est un outil de gestion des dépendances pour PHP. Il vous permet de déclarer les bibliothèques de code dont dépend votre projet et il les installera pour vous dans votre projet.

2. Configuration système requise

PHP 5.3.2+ ou supérieur est requis pour exécuter Composer.
Composer est multiplateforme, il peut fonctionner simultanément sur les plateformes Windows, Linux et OSX.

3. Installer (ubuntu)

curl -sS https://getcomposer.org/installer | php mv composer.phar
mv composer.phar /usr/local/bin/composer
Copier après la connexion
Remarque : si curl n'est pas installé, vous pouvez l'installer via la commande suivante
apt-get update
apt-get install curl
Copier après la connexion

Une fois votre Composer installé, vous pouvez utiliser la commande suivante pour vérifier si l'installation a réussi

composer -v
Copier après la connexion
Remarque Si la méthode ci-dessus échoue pour une raison quelconque, vous pouvez également télécharger le programme d'installation via php :
php -r "readfile('https://getcomposer.org/installer');" | php
Copier après la connexion

Cela vérifiera certains paramètres PHP, puis téléchargera composer.phar dans votre répertoire de travail. . Il s'agit du binaire Composer. Il s'agit d'un package PHAR (PHP Archive), qui est un format d'archive PHP qui aide les utilisateurs à effectuer certaines opérations sur la ligne de commande. omposer.phar 到你的工作目录中。这是 Composer 的二进制文件。这是一个 PHAR 包(PHP 的归档),这是 PHP 的归档格式可以帮助用户在命令行中执行一些操作。

你可以通过 --install-dir 选项指定 Composer 的安装目录(它可以是一个绝对或相对路径)

4.使用

要开始在你的项目中使用 Composer,你只需要一个 composer.json 文件。该文件包含了项目的依赖和其它的一些元数据。

首先创建一个 composer.json 文件,写入相应的包名和版本号,如

{    
    "require": {
        "monolog/monolog": "1.13.*"
    }
}
Copier après la connexion

这是后就写入了一个依赖包,之后安装依赖包。获取定义的依赖到你的本地项目,之后在你的项目目录中(即 composer.json 所在目录)使用 Composer 运行 install 命令。

composer install
Copier après la connexion

当然,如果是在 Windows 系统中,也可以通过调用 composer.phar 包来进行依赖包的安装。

php composer.phar install
Copier après la connexion

执行 composer install,就进入自动安装,安装完成后会生成一个 composer.lock 文件,里面是特定的版本号名,需要这个文件和 composer.json 一起提交到版本管理里去。

最后,在需要更新依赖包的时候,可以使用以下命令

composer update
Copier après la connexion

如果只想更新部分依赖

composer update monolog/monolog
Copier après la connexion

5.自动加载

对于库的自动加载信息,Composer 生成了一个 vendor/autoload.php 文件。你可以在你项目的入口文件中引入它

<?php
require __DIR__ . &#39;/vendor/autoload.php&#39;;
?>
Copier après la connexion

这使得你可以很容易的使用第三方代码。例如:如果你的项目依赖 monolog,你就可以像这样开始使用这个类库,并且他们将被自动加载。

<?php
require __DIR__ . &#39;/vendor/autoload.php&#39;;

$log = new Monolog\Logger(&#39;name&#39;);
$log->pushHandler(new Monolog\Handler\StreamHandler('app.log', Monolog\Logger::WARNING));

$log->addWarning('Foo');
?>
Copier après la connexion

6.Packagist / Composer 中国全量镜像

由于墙的问题,所以会导致 Composer 的国外镜像经常无法正常的 install,所以推荐使用国内的镜像,使用方式如下

有两种方式启用本镜像服务:

  • 系统全局配置: 即将配置信息添加到 Composer 的全局配置文件 config.json 中。详见”方法一“
  • 将配置信息添加到某个项目的 composer.json 文件中。详见”方法二“

方法一: 修改 composer 的全局配置文件
打开命令行窗口(windows用户)或控制台(Linux、Mac 用户)并执行如下命令:

composer config -g repo.packagist composer https://packagist.phpcomposer.com
Copier après la connexion

方法二: 修改当前项目的 composer.json 配置文件:

打开命令行窗口(windows用户)或控制台(Linux、Mac 用户),进入你的项目的根目录(也就是 composer.json 文件所在目录),执行如下命令:

composer config repo.packagist composer https://packagist.phpcomposer.com
Copier après la connexion

上述命令将会在当前项目中的 composer.json 文件的末尾自动添加镜像的配置信息(你也可以自己手工添加):

"repositories": {
    "packagist": {
        "type": "composer",
        "url": "https://packagist.phpcomposer.com"
    }
}
Copier après la connexion

7.使用 Composer 中的 autoload 实现自动加载命名空间

Composer 除了可以帮你安装所需要的依赖包以外,还可以实现自动加载命名空间的功能,当我们自己编写的函数库与类库需要自动加载时,我们就可以通过 composer.json 来实现。它类似于 php 中的 spl_autoload_register(), 其实如果你去查看 Composer 中的源代码,你会看到它的自动加载功能也是用了 spl_autoload_register() 这个函数。《具体可看此文章详细介绍》

我们在 composer.json

Vous pouvez spécifier le répertoire d'installation de Composer via l'option --install-dir (il peut s'agir d'un chemin absolu ou relatif) 🎜🎜4. Utilisez 🎜🎜Pour commencer à utiliser Composer dans votre projet, Tous. vous avez besoin d'un fichier composer.json. Ce fichier contient les dépendances du projet et d'autres métadonnées. 🎜🎜Créez d'abord un fichier composer.json, écrivez le nom du package correspondant et le numéro de version, tel que 🎜
{
    "autoload": {
        "psr-4": {
            "Test\": "test/",
            "Testtwo\": "testtwo/"
        }
    }
}
Copier après la connexion
🎜Après cela, écrivez un package de dépendances, puis installez le package de dépendances. Obtenez les dépendances définies dans votre projet local, puis utilisez Composer pour exécuter la commande install dans le répertoire de votre projet (c'est-à-dire le répertoire où se trouve composer.json). 🎜
composer dumpautoload
Copier après la connexion
Copier après la connexion
🎜Bien sûr, si vous êtes sur un système Windows, vous pouvez également installer des packages dépendants en appelant le package composer.phar. 🎜
<?php
require __DIR__ . &#39;/vendor/autoload.php&#39;;

$testClass = new \Test\Testclass();
?>
Copier après la connexion
Copier après la connexion
🎜Exécutez composer install pour accéder à l'installation automatique. Une fois l'installation terminée, un fichier composer.lock sera généré, qui contient un numéro de version spécifique et. composer.json est soumis ensemble à la gestion des versions. 🎜🎜Enfin, lorsque vous devez mettre à jour les packages de dépendances, vous pouvez utiliser la commande suivante🎜rrreee🎜Si vous souhaitez uniquement mettre à jour certaines dépendances🎜rrreee🎜5. Chargement automatique🎜🎜Pour les informations de chargement automatique de la bibliothèque, Composer génère un. Fichier vendor/ autoload.php. Vous pouvez l'introduire dans le fichier d'entrée de votre projet🎜rrreee🎜Cela vous permet d'utiliser facilement du code tiers. Par exemple : si votre projet dépend de monologue, vous pouvez commencer à utiliser la bibliothèque comme ceci et elles seront automatiquement chargées. 🎜rrreee🎜6. Image complète de Packagist / Composer Chine🎜🎜En raison de problèmes de mur, les images étrangères de Composer ne peuvent souvent pas s'installer normalement, il est donc recommandé d'utiliser des images nationales. La méthode d'utilisation est la suivante🎜. 🎜 Il existe deux manières d'activer ce service miroir : 🎜
  • Configuration globale du système : ajoutez les informations de configuration au fichier de configuration globale de Composer config.json. Pour plus de détails, consultez « Méthode 1 »
  • Ajouter des informations de configuration au fichier composer.json d'un projet. Pour plus de détails, voir "Méthode 2"
🎜Méthode 1 : Modifier le fichier de configuration globale de Composer 🎜Ouvrez la fenêtre de ligne de commande (utilisateurs Windows) ou la console (utilisateurs Linux, Mac) et exécutez la commande suivante : 🎜 rrreee🎜 Méthode 2 : Modifiez le fichier de configuration composer.json du projet en cours : 🎜🎜Ouvrez la fenêtre de ligne de commande (utilisateurs Windows) ou la console (utilisateurs Linux, Mac), et entrez le répertoire racine de votre projet (c'est-à-dire le répertoire où se trouve le fichier composer.json), exécutez la commande suivante : 🎜rrreee🎜La commande ci-dessus ajoutera automatiquement les informations de configuration du miroir à la fin du composer.json dans le projet actuel (vous pouvez également l'ajouter manuellement) :🎜rrreee🎜7. Utilisez le chargement automatique dans Composer pour charger automatiquement l'espace de noms🎜🎜En plus de vous aider à installer les packages de dépendances requis, Composer. peut également implémenter la fonction de chargement automatique de l'espace de noms. Lorsque les bibliothèques de fonctions et de classes que nous écrivons nous-mêmes doivent être chargées automatiquement, nous pouvons y parvenir via composer.json. C'est similaire à spl_autoload_register() en PHP. En fait, si vous regardez le code source dans Composer, vous verrez que sa fonction de chargement automatique utilise également spl_autoload_register() pour cela. fonction. "Pour plus de détails, veuillez consulter cet article pour une introduction détaillée"🎜🎜Nous ajoutons le code suivant dans composer.json :🎜
{
    "autoload": {
        "psr-4": {
            "Test\\": "test/",
            "Testtwo\\": "testtwo/"
        }
    }
}
Copier après la connexion

这个配置文件中有一个 autoload 段,其中有个 《PSR-4》,psr-4 是一个基于 psr-4 规则的类库自动加载对应关系,只要在其后的对象中,以 ”命名空间“: “路径” 的方式写入自己的类库信息修改完成后,之后,在执行下列命令,即可完成自动加载。

composer dumpautoload
Copier après la connexion
Copier après la connexion
注: "psr-4": {"Test\\": "test/"} 中的 "test/" 路径为相对于  composer.json 的路径

这个时候,你就可以调用你自己编写的函数库或者类库了

<?php
require __DIR__ . &#39;/vendor/autoload.php&#39;;

$testClass = new \Test\Testclass();
?>
Copier après la connexion
Copier après la connexion
注:本文内容参考了《Composer 中文网》,后续还会更新 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 de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Vous avez un jeu croisé?
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Résoudre les problèmes de mise en cache dans Craft CMS: Utilisation du plug-in Wiejeben / Craft-Laravel-MIX Résoudre les problèmes de mise en cache dans Craft CMS: Utilisation du plug-in Wiejeben / Craft-Laravel-MIX Apr 18, 2025 am 09:24 AM

Lorsque vous développez des sites Web à l'aide de CRAFTCMS, vous rencontrez souvent des problèmes de mise en cache de fichiers de ressources, en particulier lorsque vous mettez fréquemment à mettre à jour les fichiers CSS et JavaScript, les anciennes versions des fichiers peuvent toujours être mises en cache par le navigateur, ce qui fait que les utilisateurs ne voient pas les derniers changements de temps. Ce problème affecte non seulement l'expérience utilisateur, mais augmente également la difficulté du développement et du débogage. Récemment, j'ai rencontré des problèmes similaires dans mon projet, et après une exploration, j'ai trouvé le plugin wiejeben / artist-laravel-mix, qui a parfaitement résolu mon problème de mise en cache.

Comment construire rapidement Laravelcms avec Composer: MKI-LABS / ESPRESSO Expérience pratique Comment construire rapidement Laravelcms avec Composer: MKI-LABS / ESPRESSO Expérience pratique Apr 18, 2025 am 07:36 AM

J'ai rencontré un problème délicat lors du développement d'un nouveau projet Laravel: comment créer rapidement un système de gestion de contenu entièrement fonctionnel et facile à gérer (CMS). J'ai essayé plusieurs solutions, mais toutes ont abandonné en raison d'une configuration complexe et d'une maintenance gênante. Jusqu'à ce que je découvre le package Laravelcms MKI-LABS / ESPRESSO, qui non seulement simple à installer, mais fournit également des fonctions puissantes et une interface de gestion intuitive, ce qui a complètement résolu mon problème.

Comment utiliser le compositeur pour résoudre les problèmes de demande HTTP: un guide pratique de la bibliothèque Yiche / HTTP Comment utiliser le compositeur pour résoudre les problèmes de demande HTTP: un guide pratique de la bibliothèque Yiche / HTTP Apr 18, 2025 am 08:06 AM

Pendant le développement, des demandes HTTP sont souvent nécessaires, ce qui peut être d'obtenir des données, d'envoyer des données ou d'interagir avec des API externes. Cependant, face à des environnements de réseau complexes et à la modification des exigences de demande, comment gérer efficacement les demandes HTTP devient un défi. J'ai rencontré un problème dans un projet: je dois envoyer fréquemment des demandes à différentes API et enregistrer les demandes pour faciliter le débogage et l'analyse ultérieures. Après avoir essayé plusieurs méthodes, j'ai découvert la bibliothèque Yiche / HTTP. Il simplifie non seulement le traitement des demandes HTTP, mais fournit également des fonctions de journalisation dynamique, améliorant considérablement l'efficacité de développement.

Comment résoudre le problème de la gestion des erreurs JavaScript à l'aide du compositeur Comment résoudre le problème de la gestion des erreurs JavaScript à l'aide du compositeur Apr 18, 2025 am 08:30 AM

J'ai un problème difficile lors du développement d'une application Web complexe: comment gérer efficacement les erreurs JavaScript et les enregistrer. J'ai essayé plusieurs méthodes, mais aucun d'eux ne pouvait répondre à mes besoins jusqu'à ce que je trouve cette bibliothèque dvasilenko / alterrego_tools. J'ai facilement résolu ce problème grâce à l'installation de cette bibliothèque via Composer et j'ai considérablement amélioré la maintenabilité et la stabilité du projet. Le compositeur peut être appris par l'adresse suivante: Adresse d'apprentissage

Expérience pratique pour créer des interfaces de ligne de commande efficaces à l'aide de la bibliothèque Symfony / Console Expérience pratique pour créer des interfaces de ligne de commande efficaces à l'aide de la bibliothèque Symfony / Console Apr 18, 2025 am 07:30 AM

Dans le développement de projets, il est souvent nécessaire de créer des outils de ligne de commande pour simplifier les tâches quotidiennes ou automatiser les processus. Cependant, la création d'une interface de ligne de commande qui est belle et facile à tester n'est pas facile. Récemment, j'ai rencontré ce problème lors du développement d'un projet qui nécessite des outils de ligne de commande. Après une certaine exploration, j'ai trouvé la bibliothèque Symfony / Console, qui simplifie considérablement le processus de création des interfaces de ligne de commande.

Utilisation du compositeur pour résoudre l'injection de dépendance: application de l'interface de conteneur PSR-11 Utilisation du compositeur pour résoudre l'injection de dépendance: application de l'interface de conteneur PSR-11 Apr 18, 2025 am 07:39 AM

J'ai rencontré un problème commun mais délicat lors du développement d'un grand projet PHP: comment gérer et injecter efficacement les dépendances. Initialement, j'ai essayé d'utiliser des variables globales et une injection manuelle, mais cela a non seulement augmenté la complexité du code, il a également conduit facilement à des erreurs. Enfin, j'ai résolu avec succès ce problème en utilisant l'interface de conteneur PSR-11 et avec la puissance du compositeur.

Comment utiliser le compositeur pour résoudre le problème du traitement par lots des données dans le cadre YII Comment utiliser le compositeur pour résoudre le problème du traitement par lots des données dans le cadre YII Apr 18, 2025 am 07:54 AM

Lorsque vous développez des projets de framework YII, vous rencontrez souvent des situations où vous devez obtenir une grande quantité de données de la base de données. Si des mesures appropriées ne sont pas prises, l'obtention directement de toutes les données peut entraîner un débordement de mémoire et affecter les performances du programme. Récemment, lorsque j'avais affaire à un projet sur une grande plate-forme de commerce électronique, j'ai rencontré ce problème. Après quelques recherches et essais, j'ai finalement résolu le problème par le biais de la bibliothèque d'extension de Pavle / Yii-Batch-Result.

Utilisation et alternatives à la plate-forme de traduction Otrance Utilisation et alternatives à la plate-forme de traduction Otrance Apr 18, 2025 am 08:45 AM

Un support multilingue est souvent requis dans le développement de projets, et Otance était autrefois une solution très populaire. Cependant, j'ai récemment constaté que le projet Otrance n'est plus maintenu et mis à jour, ce qui m'a obligé à trouver de nouvelles alternatives pour répondre aux besoins du projet. Heureusement, Composer fournit un moyen pratique de gérer et d'installer d'autres plates-formes de traduction.

See all articles