1. Composer,一种跨PHP的依赖管理工具
Composer是一种跨PHP的依赖管理工具。它允许你声明依赖的库和它们的版本,并且管理(安装/更新)它们。功能强大的软件包管理器是用PHP编写的,可以连接Packagist软件包存储库。
2. 使用Composer进行自动加载
使用Composer进行自动加载,你可以在你的PHP项目中使用任何你想要的库(从Packagist软件包库中)。Composer自动生成一个PSR-4自动加载类的classmap,自动生成构造函数和健壮的库。
2.1 在你的项目中安装Composer
你可以通过在Linux系统上使用以下命令来安装Composer:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
php -r "unlink('composer-setup.php');"
安装Composer后,你可以在控制台上查看版本:
composer --version
2.2 安装库到你的项目中
你可以使用Composer安装各种有用的PHP库。以下是一个例子:
composer require guzzlehttp/guzzle
2.3 自动加载库
Composer自动加载使用PSR-4标准。默认情况下,autoload.php会在生成的vendor/autoload.php文件中自动加载任何需要的库。
在PHP文件中:
require 'vendor/autoload.php';
使用Composer,开发者可以很容易地为项目添加许多依赖,并且可以通过自动加载它们来管理这些库。
3. 查看可安装软件包列表
通过Composer,你可以查看有哪些包是可用的。以下是命令:
composer search *part of package name*
例如,你可以查看由Symfony编写的可安装包:
composer search symfony
4. 创建新的PHP库时使用Composer
如果你想创建你自己的PHP库,你可以使用Composer。使用composer init命令可以创建项目的composer.json文件。文件中包含项目的依赖及其版本。
composer init
在composer.json文件中,你可以通过指定项目的requiring来定义你的库的依赖库:
"require": {
"vendor/package": "1.3.2",
"vendor/package2": "5.*"
}
在你创建PHP库后,你可以使用Composer发布它。使用composer.json文件,在Packagist中具有自己的地址。当其他用户需要使用你的库时,他们可以使用Composer下载它。
通过使用Composer,你可以使用简单的计划来管理应用程序或者服务器上的依赖项
5. 更新依赖
当你发现依赖的库中有安全漏洞,你可以通过Composer来轻松更新这个库。你也可以使用Composer更新所有库。以下是命令。
5.1 更新所有的包
composer update
5.2 更新特定的包
composer update *package-name*
例如,更新Guzzle库:
composer update guzzlehttp/guzzle
6. 私有仓库
Composer默认情况下,从Packagist需要安装库。然而,当你想使用私有库时,你需要使用另一种方法。在这种情况下,你可以使用Satis来构建你的私有依赖库。以下是步骤:
6.1 安装Satis
使用以下命令在Linux上安装Satis:
curl -O https://getcomposer.org/satis.phar && chmod +x satis.phar
6.2 构建Satis
打开satis.json文件,使用以下命令创建你自己的repository:
php satis.phar build satis.json repository/
6.3 使用Satis获取私有库
你可以使用Composer安装此私有库的部分。请注意,Composer需要提供composer.json文件,其中指定需要使用私有库的版本及其可用的其他库:
{
"repositories": [
{
"type": "composer",
"url": "http://your-repo/repository"
}
],
"require": {
"your-package": "*"
}
}
Satis是打包、Rhesis和发布内部PHP库的号工具。使用它,你可以将私有PHP软件包完全与公开的PID包分开。