Composer是 PHP 的依赖管理器(类似于Node.js 的 npm
or Python 的点子
).
Composer 将提取您的项目所依赖的所有必需的 PHP 包并为您管理它们。它用于所有现代 PHP 框架和平台,例如 Laravel、Symfony、Drupal 和 Magento。
本文介绍如何在 Debian 10 系统上安装 Composer。我们还将介绍如何使用 Composer 创建和管理 PHP 项目。
在 Debian 上安装 Composer#
在安装 Composer 之前,请确保您的 Debian 系统上安装了所有必需的软件包:
sudo apt update
sudo apt install wget php-cli php-zip unzip
Composer 提供了一个用以下语言编写的安装程序PHP我们将用它来安装 Composer。
下载安装程序wget
:
wget -O composer-setup.php https://getcomposer.org/installer
上面的命令会将文件另存为composer-setup.php
in the 当前工作目录
.
Composer 是一个单文件 CLI 应用程序,可以全局安装或作为项目的一部分安装。全局安装需要须藤权限
.
-
要将 Composer 全局安装为可供所有用户使用的系统范围命令,只需将该文件放置在系统中的目录中即可PATH。以下命令将 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.10.10) successfully installed to: /usr/local/bin/composer
Use it: php /usr/local/bin/composer
您现在可以通过运行来使用 Composercomposer
在您的终端中。
-
要在本地安装 Composer,请将文件下载到项目根目录中:
sudo php composer-setup.php --install-dir=/path/to/project
这将下载一个名为composer.phar
。要使用 Composer,请导航到项目目录并运行php composer.phar
当新的 Composer 版本可用时,您可以使用以下命令更新安装:
sudo composer self-update
开始使用 Composer#
现在您已经在 Debian 系统上安装了 Composer,我们将向您展示如何创建 PHP 项目。
首先创建一个目录作为项目根目录并保存composer.json
文件。该文件描述您的 PHP 项目,包括 PHP 依赖项和其他元数据。
运行以下命令创建项目目录并切换到该目录:
mkdir ~/my-first-composer-project
cd ~/my-first-composer-project
接下来,我们将初始化一个新的composer.json
文件使用composer require <package name>
命令并指定我们要下载的包。在此示例中,我们将创建一个示例应用程序,它将使用名为的包打印当前时间carbon
.
运行以下命令来初始化一个新的composer.json
文件并安装 Carbon 包:
composer require nesbot/carbon
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 5 installs, 0 updates, 0 removals
- Installing symfony/translation-contracts (v2.1.3): Downloading (100%)
- Installing symfony/polyfill-php80 (v1.18.1): Downloading (100%)
- Installing symfony/polyfill-mbstring (v1.18.1): Downloading (100%)
- Installing symfony/translation (v5.1.3): Downloading (100%)
- Installing nesbot/carbon (2.38.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
5 packages you are using are looking for funding.
Use the `composer fund` command to find out more
如输出所示,Composer 创建了composer.json
文件并下载并安装 Carbon 及其所有依赖项。
如果您列出项目的目录ls,你会看到它包含两个文件composer.json
and composer.lock
, and a vendor
目录。
ls -l
-rw-r--r-- 1 linuxize users 60 Aug 17 21:02 composer.json
-rw-r--r-- 1 linuxize users 6851 Aug 17 21:02 composer.lock
drwxr-xr-x 5 linuxize users 4096 Aug 17 21:02 vendor
-
vendor
- 存储项目依赖项的目录。
-
composer.lock
- 包含所有已安装软件包列表(包括软件包版本)的文件。
-
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: 2020-08-17 21:08:45
稍后,如果需要更新项目包,请输入:
composer update
上面的命令将检查已安装软件包的较新版本,如果找到较新版本,版本约束与指定的匹配composer.json
,Composer 会更新包。
结论#
我们向您展示了如何在 Debian 10 上安装 Composer 以及如何使用它创建基本的 PHP 项目。
有关 Composer 的更多信息,请访问官方文档
page.
如果您有任何疑问,请在下面留言。