Heim  >  Artikel  >  Entwicklungswerkzeuge  >  Über die Installation und Verwendung von PHP-Composer (vereinfachte Version)

Über die Installation und Verwendung von PHP-Composer (vereinfachte Version)

藏色散人
藏色散人nach vorne
2021-03-17 17:39:243751Durchsuche

Die folgende Tutorial-Kolumne von Composer führt Sie in die Installation und Verwendung von PHP-Composer ein (vereinfachte Version). Ich hoffe, dass sie Freunden in Not hilfreich sein wird!

Über die Installation und Verwendung von PHP-Composer (vereinfachte Version)

1. Einführung

Composer ist ein Abhängigkeitsmanagement-Tool für PHP. Sie können damit Codebibliotheken deklarieren, von denen Ihr Projekt abhängt, und diese für Sie in Ihrem Projekt installieren.
《Composer Chinese Website》

2. Systemanforderungen

PHP 5.3.2+ oder höher ist erforderlich, um Composer auszuführen.
Composer ist plattformübergreifend und kann gleichzeitig auf Windows-, Linux- und OSX-Plattformen ausgeführt werden. 3. Installieren Sie (Ubuntu).

curl -sS https://getcomposer.org/installer | php mv composer.phar
mv composer.phar /usr/local/bin/composer
Hinweis Wenn die obige Methode aus irgendeinem Grund fehlschlägt, können Sie das Installationsprogramm auch über PHP herunterladen:

apt-get update
apt-get install curl

Dadurch werden einige PHP-Einstellungen überprüft und dann composer.phar in Ihr Arbeitsverzeichnis heruntergeladen . Dies ist die Composer-Binärdatei. Dabei handelt es sich um ein PHAR-Paket (PHP-Archiv), ein PHP-Archivformat, das Benutzern hilft, einige Vorgänge in der Befehlszeile auszuführen.
Sie können das Composer-Installationsverzeichnis über die Option --install-dir angeben (es kann ein absoluter oder relativer Pfad sein)

4. Verwenden Sie
Um Composer in Ihrem Projekt zu verwenden, Alle Sie benötigen eine composer.json-Datei. Diese Datei enthält die Abhängigkeiten des Projekts und andere Metadaten.

omposer.phar 到你的工作目录中。这是 Composer 的二进制文件。这是一个 PHAR 包(PHP 的归档),这是 PHP 的归档格式可以帮助用户在命令行中执行一些操作。

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

4.使用

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

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

composer -v

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

php -r "readfile('https://getcomposer.org/installer');" | php

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

{    
    "require": {
        "monolog/monolog": "1.13.*"
    }
}

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

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

composer install

如果只想更新部分依赖

php composer.phar install

5.自动加载

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

composer update

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

composer update monolog/monolog

6.Packagist / Composer 中国全量镜像

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

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

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

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

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

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

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

<?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');
?>

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

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

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

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

我们在 composer.jsonErstellen Sie zunächst eine composer.json-Datei, schreiben Sie den entsprechenden Paketnamen und die Versionsnummer, z. B.

composer config repo.packagist composer https://packagist.phpcomposer.com
🎜Schreiben Sie anschließend ein Abhängigkeitspaket und installieren Sie dann das Abhängigkeitspaket. Rufen Sie die definierten Abhängigkeiten zu Ihrem lokalen Projekt ab und führen Sie dann mit Composer den Befehl install in Ihrem Projektverzeichnis aus (d. h. dem Verzeichnis, in dem sich composer.json befindet). 🎜
"repositories": {
    "packagist": {
        "type": "composer",
        "url": "https://packagist.phpcomposer.com"
    }
}
🎜Wenn Sie sich auf einem Windows-System befinden, können Sie natürlich auch abhängige Pakete installieren, indem Sie das Paket composer.phar aufrufen. 🎜
{
    "autoload": {
        "psr-4": {
            "Test\": "test/",
            "Testtwo\": "testtwo/"
        }
    }
}
🎜Führen Sie composer install aus, um die automatische Installation zu starten. Nach Abschluss der Installation wird eine Datei composer.lock generiert, die eine bestimmte Versionsnummer enthält composer.json wird gemeinsam an die Versionsverwaltung übermittelt. 🎜🎜Wenn Sie schließlich Abhängigkeitspakete aktualisieren müssen, können Sie den folgenden Befehl verwenden🎜
composer dumpautoload
🎜Wenn Sie nur einige Abhängigkeiten aktualisieren möchten🎜
<?php
require __DIR__ . &#39;/vendor/autoload.php&#39;;

$testClass = new \Test\Testclass();
?>
🎜5. Automatisches Laden🎜🎜Für die automatischen Ladeinformationen der Bibliothek generiert Composer eine vendor/ autoload.php-Datei. Sie können es in die Eintragsdatei Ihres Projekts einfügen🎜rrreee🎜Dies erleichtert Ihnen die Verwendung von Code von Drittanbietern. Beispiel: Wenn Ihr Projekt von Monolog abhängt, können Sie die Bibliothek auf diese Weise verwenden und sie werden automatisch geladen. 🎜rrreee🎜6. Packagist / Composer China vollständiges Bild🎜🎜Aufgrund von Wandproblemen können ausländische Bilder von Composer oft nicht normal installiert werden, daher wird empfohlen, inländische Bilder zu verwenden. Die Verwendungsmethode ist wie folgt 🎜 Es gibt zwei Möglichkeiten, diesen Spiegeldienst zu aktivieren: 🎜
  • Globale Systemkonfiguration: Fügen Sie die Konfigurationsinformationen zur globalen Konfigurationsdatei config.json von Composer hinzu. Einzelheiten finden Sie unter „Methode 1“.
  • Fügen Sie Konfigurationsinformationen zur Datei „composer.json“ eines Projekts hinzu. Einzelheiten finden Sie unter „Methode 2“
🎜Methode 1: Ändern Sie die globale Konfigurationsdatei des Composers 🎜Öffnen Sie das Befehlszeilenfenster (Windows-Benutzer) oder die Konsole (Linux-, Mac-Benutzer) und führen Sie den folgenden Befehl aus: 🎜 rrreee🎜 Methode 2: Ändern Sie die Konfigurationsdatei composer.json des aktuellen Projekts: 🎜🎜Öffnen Sie das Befehlszeilenfenster (Windows-Benutzer) oder die Konsole (Linux-, Mac-Benutzer) und geben Sie das Stammverzeichnis von ein Führen Sie in Ihrem Projekt (d. h. dem Verzeichnis, in dem sich die Datei composer.json befindet) den folgenden Befehl aus: 🎜rrreee🎜Der obige Befehl fügt automatisch die Spiegelkonfigurationsinformationen am Ende des composer.json-Datei im aktuellen Projekt (Sie können sie auch manuell hinzufügen):🎜rrreee🎜7. Verwenden Sie Autoload in Composer, um den Namespace automatisch zu laden🎜🎜Composer hilft Ihnen nicht nur bei der Installation der erforderlichen Abhängigkeitspakete kann auch die Funktion zum automatischen Laden des Namespace implementieren. Wenn die von uns selbst geschriebenen Funktionsbibliotheken und Klassenbibliotheken automatisch geladen werden müssen, können wir dies über <code>composer.json erreichen. Es ähnelt spl_autoload_register() in PHP. Wenn Sie sich den Quellcode in Composer ansehen, werden Sie feststellen, dass die Autoloading-Funktion auch spl_autoload_register() verwendet Funktion. „Weitere Informationen finden Sie in diesem Artikel für eine ausführliche Einführung.“🎜🎜Wir fügen den folgenden Code in composer.json hinzu:🎜
{
    "autoload": {
        "psr-4": {
            "Test\\": "test/",
            "Testtwo\\": "testtwo/"
        }
    }
}

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

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

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

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

$testClass = new \Test\Testclass();
?>
注:本文内容参考了《Composer 中文网》,后续还会更新 Composer 其它的实用功能

Das obige ist der detaillierte Inhalt vonÜber die Installation und Verwendung von PHP-Composer (vereinfachte Version). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:segmentfault.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen