Composer是 PHP 的依赖管理器(类似于Node.js 的 npm
or Python 的点子
).
Composer 将提取您的项目所依赖的所有必需的 PHP 包并为您管理它们。它用于所有现代 PHP 框架和平台,例如 Laravel、Symfony、Drupal 和马真托2
.
在本教程中,我们将介绍在 CentOS 7 计算机上安装和使用 Composer 的步骤。
先决条件#
在继续本教程之前,请确保您已满足以下先决条件:
- 登录身份为具有 sudo 权限的用户
- Have PHP 7 安装在 CentOS 7 上
system.
在 CentOS 上安装 Composer#
以下步骤描述了如何在 CentOS 7 系统上安装 Composer。
-
首先安装 PHP CLI(命令行界面)包和所有其他依赖项:
sudo yum install php-cli php-zip wget unzip
-
安装 PHP CLI 后,使用以下命令下载 Composer 安装程序脚本:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
上面的命令将下载composer-setup.php
文件在当前工作目录
.
-
验证脚本的数据完整性比较脚本SHA-384
哈希与在上找到的最新安装程序哈希作曲家公钥/签名
page.
下列wget命令将从 Composer 的 Github 页面下载最新 Composer 安装程序的预期签名并将其存储在名为的变量中HASH
:
HASH="$(wget -q -O - https://composer.github.io/installer.sig)"
要验证安装脚本未损坏,请运行以下命令:
php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
如果哈希值匹配,将显示以下消息:
Installer verified
如果哈希值不匹配,您将看到Installer corrupt
。在这种情况下,您需要重新下载Composer安装脚本并仔细检查$HASH
变量与回显 $HASH。验证安装程序后,您可以继续下一步。
-
运行以下命令将 Composer 安装在/usr/local/bin
目录:
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
All settings correct for using Composer
Downloading...
Composer (version 1.8.5) successfully installed to: /usr/local/bin/composer
Use it: php /usr/local/bin/composer
The composer
作为系统范围的命令安装,所有用户都可以使用。
-
最后一步是验证安装:
composer
上面的命令将打印 Composer 的版本、命令和参数。
______
/ ____/___ ____ ___ ____ ____ ________ _____
/ / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
/_/
Composer version 1.8.5 2019-04-09 17:46:47
Usage:
command [options] [arguments]
至此,您已经在 CentOS 系统上成功安装了 Composer。
如果您想按项目安装 Composer,请使用以下命令php composer-setup.php
这将创建一个名为的文件composer.phar
在您当前的工作目录中。您可以通过运行来使用作曲家./composer.phar <command>.
开始使用 Composer#
现在 Composer 已安装在 CentOS 系统上,我们将向您展示如何在 PHP 项目中使用 Composer。
首先创建一个目录作为项目根目录并保存composer.json
file.
composer.json
文件描述您的 PHP 项目,包括 PHP 依赖项和其他元数据。
创建项目目录并切换到它
with:
mkdir ~/my-first-composer-project
cd ~/my-first-composer-project
在此示例中,我们将创建一个示例应用程序,它将使用名为的包打印当前时间carbon
.
运行以下命令来初始化新的 Composer 项目并安装 Carbon 包:
composer require nesbot/carbon
Using version ^2.2 for nesbot/carbon
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 3 installs, 0 updates, 0 removals
- Installing symfony/polyfill-mbstring (v1.9.0): Downloading (100%)
- Installing symfony/translation (v4.1.4): Downloading (100%)
- Installing nesbot/carbon (2.2.0): Downloading (100%)
symfony/translation suggests installing symfony/config
symfony/translation suggests installing symfony/yaml
symfony/translation suggests installing psr/log-implementation (To use logging capability in translator)
Writing lock file
Generating autoload files
正如您从上面的输出中看到的,Composer 将创建composer.json
文件,它将下载并安装 Carbon 及其所有依赖项。
If you 列出您的项目目录,你会看到它包含两个文件composer.json
and composer.lock
, and a vendor
目录。
ls -l
-rw-r--r-- 1 linuxize users 60 Aug 29 00:50 composer.json
-rw-r--r-- 1 linuxize users 6.8K Aug 29 00:50 composer.lock
drwxr-xr-x 5 linuxize users 4.0K Aug 29 00:50 vendor
- The
vendor
目录是存放项目依赖的目录。
- The
composer.lock
包含所有已安装软件包及其版本的列表。
- The
composer.json
描述 PHP 项目和所有 PHP 依赖项。
您可以搜索 Composer 存储库包装学家对于 PHP 包。
Composer 提供了自动加载功能,允许我们使用 PHP 类而无需使用require
or include
文件。
创建一个名为testing.php
并添加以下代码:
<?php
require __DIR__ . '/vendor/autoload.php';
use Carbon\Carbon;
printf("Now: %s", Carbon::now());
我们来逐行分析一下代码。
在开始 php 标签之后的第一行中,我们包括vendor/autoload.php
由 Composer 自动生成的文件,它将自动加载所有库。
接下来,我们使用别名Carbon\Carbon
as Carbon
在最后一行,我们使用 Carbon 打印当前时间now
method.
通过键入以下内容运行脚本:
php testing.php
输出应如下所示:
Now: 2018-09-26 20:08:18
稍后,如果您想更新 PHP 包,您只需运行:
composer update
上面的命令将检查已安装软件包的较新版本,如果找到较新版本并且版本约束与指定的匹配composer.json
,Composer 会更新包。
结论#
您已经学习了如何在 CentOS 7 计算机上安装 Composer。我们还向您展示了如何使用 Composer 创建基本的 PHP 项目。
想了解更多关于Composer的信息,请访问官方作曲家文档
page.
如果您有任何疑问,请在下面留言。