Composer 是PHP的依赖项管理器(类似于Node.js 的 npm或Python 的 pip)。 Composer将提取您项目所依赖的所有必需PHP软件包,并为您管理它们。

本教程提供了在Debian 9系统上安装Composer的必要步骤。我们还将介绍如何使用Composer创建和管理PHP项目。

先决条件

在继续学习本教程之前,请确保您以具有sudo权限的用户身份登录,并且在Debian 9 系统上安装了 PHP。

安装Composer

按照以下步骤在Debian系统上安装Composer:

首先更新软件包索引,并使用以下命令安装必要的软件包:

sudo apt update
sudo apt 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散列来验证比较脚本数据的完整性,以及在 Composer公钥/签名页面上找到的最新安装程序散列。

运行以下 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安装脚本,并使用 echo $HASH 仔细检查$HASH变量的值。安装程序通过验证后,即可继续执行下一步。

以下命令将在/usr/local/bin目录中安装Composer:

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

至此,您已经在Debian系统上安装了Composer。它作为系统级命令安装,将对所有用户可用。

要验证安装,只需键入:

composer

上面的命令将打印作曲家的版本,命令和参数。

______
/ ____/___  ____ ___  ____  ____  ________  _____
/ /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                    /_/
Composer version 1.8.5 2019-04-09 17:46:47

Usage:
    command [options] [arguments]

如果要使用每个项目的Composer安装,请运行以下命令php composer-setup.php,它将在您的当前工作目录中创建一个名为composer.phar的文件。您可以通过运行./composer.phar <command>.   使用作曲家

Composer入门

现在您已经在Debian系统上安装了Composer,我们将向您展示如何使用Composer创建PHP项目。

首先创建一个目录,该目录将成为项目根目录并保存composer.json文件。该文件描述了您的PHP项目,包括PHP依赖项和其他元数据。

创建项目目录并使用以下命令切换到该目录:

mkdir ~/my-first-composer-project
cd ~/my-first-composer-project

接下来,我们将使用composer require <package name>命令初始化一个新的composer.json文件,并指定我们要下载的包。在此示例中,我们将创建一个示例应用程序,该应用程序将使用名为 carbon

运行以下命令以初始化新的composer.json文件并安装Carbon包:

composer require nesbot/carbon
Using version ^1.34 for nesbot/carbon
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
  - Installing symfony/polyfill-mbstring (v1.9.0): Downloading (100%)         
  - Installing symfony/translation (v3.4.17): Downloading (100%)         
  - Installing nesbot/carbon (1.34.0): Downloading (100%)         
symfony/polyfill-mbstring suggests installing ext-mbstring (For best performance)
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及其所有依赖项。

如果使用 ls命令列出项目的目录,则会看到该目录包含两个文件composer.jsoncomposer.lock,以及vendor目录。

ls -l
-rw-r--r-- 1 myfreax users   60 Oct 16 21:02 composer.json
-rw-r--r-- 1 myfreax users 6851 Oct 16 21:02 composer.lock
drwxr-xr-x 5 myfreax users 4096 Oct 16 21:02 vendor
  • vendor-项目依赖关系的存储目录。
  • composer.lock -包含所有已安装软件包的列表(包括软件包版本)的文件。
  • composer.json -描述PHP项目和所有PHP依赖项的文件。

您可以在Composer存储库 Packagist 中搜索PHP软件包。

Composer提供自动加载功能,使我们无需使用requireinclude文件即可使用PHP类。

创建一个名为testing.php的文件,然后粘贴以下代码:

<?php

require __DIR__ . '/vendor/autoload.php';

use Carbon\Carbon;

printf("Now: %s", Carbon::now());

让我们逐行分析代码。

在打开php标签之后的第一行中,我们包含了由Composer自动生成的vendor/autoload.php文件。此文件将自动加载所有必需的库。

接下来,我们将Carbon\Carbon作为Carbon的别名,在最后一行中,我们使用Carbon now方法打印当前时间。

通过键入以下内容来运行脚本:

php testing.php

输出应如下所示:

Now: 2018-10-16 21:08:45

3。使用Composer更新软件包

要更新PHP软件包,只需运行:

composer update

上面的命令将检查安装的软件包的较新版本,如果找到了较新的版本,并且版本约束composer.json中指定的匹配,则Composer将更新该软件包。 250]

结论

您已经了解了如何在Debian 9计算机上安装Composer。我们还向您展示了如何使用Composer创建基本的PHP项目。要查找有关Composer的更多信息,请访问 Composer官方文档页面。

如有任何疑问,请在下面发表评论。

如果你喜欢我们的内容可以选择在下方二维码中捐赠我们,或者点击广告予以支持,感谢你的支持