Heim >Entwicklungswerkzeuge >composer >Composer-Abhängigkeitsmanagement (PHP-Tool)
Hören Sie auf, nach PHP-Erweiterungspaketen zu suchen. Für moderne Sprachen sind Paketmanager grundsätzlich Standard. Java hat Maven, Python hat pip, Ruby hat gem und Nodejs hat npm. PHP verwendet PEAR, aber PEAR weist viele Fallstricke auf:
● Die Abhängigkeitsverarbeitung ist anfällig für Probleme
● Die Konfiguration ist sehr komplex
● Schwierig zu verwendende Befehlszeilenschnittstelle
Glücklicherweise haben wir Composer, ein leistungsstarkes Tool für das PHP-Abhängigkeitsmanagement. Es ist Open Source und einfach zu verwenden, und Sie können ganz einfach Ihre eigenen Pakete einreichen.
Wenn wir beispielsweise zu Beginn kein Framework verwenden und einen Bestätigungscode wünschen, müssen wir zuerst zu Gihutb oder anderen Orten gehen, um eine Bestätigungscode-Klasse zu finden, sie dann in das Projekt aufzunehmen und dann bearbeiten. Sobald es läuft, kann es bei der späteren Projektpflege zu Problemen kommen. Wenn es Open Source auf Github ist, können Sie auch auf „Beobachten“ klicken, um zu sehen, ob Fehler behoben oder neue Versionen veröffentlicht wurden, und Sie können zeitnah Upgrades durchführen.
Wenn Sie zu viele Erweiterungspakete herunterladen, benötigen Sie möglicherweise auch Namensraumkonflikte. Wenn das Erweiterungspaket aktualisiert wird, müssen Sie dies auch tun Laden Sie es erneut herunter. Das ist sehr umständlich. So wurde die Composer-Bibliothek zur Abhängigkeitsverwaltung geboren.
Die oben genannten sind die wichtigeren Nachfrageszenarien für Compser.
1. Erweiterungspakete können einfach installiert und aktualisiert werden
Einfach einbinden, nicht überall einschließen müssen
3 🎜>Normalerweise gehe ich zu Github, Code Cloud und anderen Plattformen, um Erweiterungspakete zu finden, aber jetzt gibt es eine Website, die alle Pakete integriert. Mit anderen Worten, die aktuelle Entwicklungsmethode: Zuerst auf Packagist suchen und dann Composer zum Installieren verwenden Upgrade.
Composer installierenFür eine narrensichere Installation klicken Sie einfach auf https://getcomposer.org/Composer-Setup.exe, laden Sie das Installationsprogramm herunter und installieren Sie es Sie laden Composer herunter und legen Ihre PATH-Umgebungsvariable fest, sodass Sie Composer einfach von jedem Verzeichnis aus aufrufen können.
Während des Installationsprozesses müssen Sie darauf achten, das Stammverzeichnis von php.exe zu finden und den richtigen PHP-Pfad auszuwählen. Ich werde hier keine Screenshots bereitstellen, da ich es noch nicht heruntergeladen und manuell installiert habe.
Das ausgewählte Verzeichnis sollte so aussehen:
D:\phpStudy\php\php-7.0.12-nts\php.exe
Im Folgenden geht es um die manuelle Installation:
Laden Sie zunächst eine Composer.phar-Datei herunter und legen Sie die Phar-Datei im Entwicklerordner ab. Sie können dies tun, wie Sie möchten, und es gibt keine Begrenzung, in welchem Ordner sie abgelegt werden soll.
Öffnen Sie dann das DOS-Fenster oder verwenden Sie die Tastenkombination Windows+R, um cmd einzugeben. Geben Sie zunächst das Verzeichnis ein, in dem Sie die Phar-Datei abgelegt haben Voraussetzung für eine erfolgreiche Installation ist die Eingabe in der Befehlszeile.
D:\developer\composer>echo @php "%~dp0composer.phar" %*>composer.bat
zeigt den folgenden Inhalt an
Wenn ich das sehe, Gehen Sie davon aus, dass die Installation von Composer im chinesischen LAN relativ langsam ist, aber glücklicherweise gibt es einen inländischen Spiegel. Führen Sie den folgenden Befehl aus, um zum inländischen Spiegel zu wechseln in den inländischen Computerraum und beschleunigen Sie es über das inländische CDN, sodass keine Notwendigkeit besteht, eine Anfrage an eine ausländische Website zu stellen.
composer -v
Dies ist gleichbedeutend mit einer globalen Änderung der Konfiguration. Ich habe mich entschieden, die Composer.json-Konfigurationsdatei des aktuellen Projekts zu ändern:
composer config -g repo.packagist composer https://packagist.phpcomposer.com
Allgemeine Composer-Befehle
<strong>selfupdate</strong>
Updaten Sie Composer selbst. Bitte führen Sie Composer Selfupdate regelmäßig aus, um Composer immer auf dem neuesten Stand zu halten neueste Version. <strong>selfupdate</strong>
{ "repositories": { "packagist": { "type": "composer", "url": "https://packagist.phpcomposer.com" } } }entspricht
composer selfupdate
<p>dumpautoload</p>
<strong>dumpautoload</strong>
Wenn wir das automatische Laden in der Datei „composer.json“ ändern, wird Composer dumpautoload muss ausgeführt werden, damit autoload sofort wirksam wird. Ohne Installations- oder Aktualisierungsbefehle ausführen zu müssen.
composer self-update
entspricht
composer dumpautoload
dumpautoload-Befehl hat zwei häufig verwendete Optionen:
--optimize (-o): Konvertieren Sie PSR-0/4-Autoloading in Classmap, z schnellere Ladegeschwindigkeiten. Dies eignet sich besonders für Produktionsumgebungen, kann jedoch einige Zeit in Anspruch nehmen und ist daher derzeit nicht die Standardeinstellung.
--no-dev: Autoload-Dev-Regeln deaktivieren.
install
composer dump-autoload
Entsprechend der Datei „composer.lock“ (Sperrdatei) oder „composer.json“ in der aktuellen Datei Verzeichnis, Abhängigkeiten definieren und Abhängigkeitspakete installieren. Der Befehl
install prüft zunächst, ob die Sperrdatei „composer.lock“ vorhanden ist. Wenn sie vorhanden ist, wird die in der Datei „composer.lock“ angegebene Version heruntergeladen, wobei die Definition in der Datei „composer.json“ ignoriert wird.
composer install
<strong>update</strong>
# 查看 composer install 的帮助信息 composer install -h # 只安装 require 中定义的依赖,而不安装 require-dev 中定义的依赖 composer install --no-dev
<p>erforderlich<code><strong>require</strong>
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/
Das obige ist der detaillierte Inhalt vonComposer-Abhängigkeitsmanagement (PHP-Tool). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!