Composer是 PHP 的依赖项管理器(类似于节点的 npm.js或 Python 的 pip。
使用 Composer,您可以指定项目所依赖的 PHP 库,它将提取和管理您的所有库和依赖关系。作曲家用于所有现代 PHP 框架和平台,如 Laravel、Symfony、Drupal 和 Magento。
在 Ubuntu 上安装 PHP 编辑器
在安装 Composer 之前,请确保在系统上安装了所有必要的要求:
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
Composer 是单个文件 CLI 应用程序,可以全局安装或作为项目的一部分安装。全局安装需要sudo 权限。
- 若要将 Composer 全局安装为可供所有用户使用的系统范围命令,只需将文件放在系统 PATH 中的目录中即可。运行以下命令在目录中安装 Composer:/usr/local/binsudo php composer-setup.php –install-dir=/usr/local/bin –filename=composerAll settings correct for using Composer Downloading… Composer (version 1.10.7) successfully installed to: /usr/local/bin/composer Use it: php /usr/local/bin/composer现在,您可以通过在终端中运行来使用 Composer。composer
- 要本地安装作曲家,请输入:sudo php composer-setup.php –install-dir=/path/to/project这将下载项目根目录中命名的文件。使用 Composer 导航到项目目录并运行composer.pharphp composer.phar
当新的 Composer 版本可用时,您可以使用以下命令更新安装:
sudo composer self-update
使用作曲家入门
现在 Composer 已安装在 Ubuntu 系统上,让我们看看如何使用 Composer 创建 PHP 项目。
第一步是创建项目根目录并导航到它:
mkdir ~/my-first-composer-project
cd ~/my-first-composer-project
在此示例中,我们将使用名为 carbon 的 PHP 包创建一个打印当前时间的示例应用程序。
运行以下命令以初始化新的 Composer 项目并安装碳包:
composer require nesbot/carbon
Using version ^2.35 for 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.2): Downloading (100%)
- Installing symfony/polyfill-php80 (v1.17.0): Downloading (100%)
- Installing symfony/polyfill-mbstring (v1.17.0): Downloading (100%)
- Installing symfony/translation (v5.1.2): Downloading (100%)
- Installing nesbot/carbon (2.35.0): Downloading (100%)
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
如果列出项目的目录,则会看到它包含两个文件和 ,以及一个目录。composer.jsoncomposer.lockvendor
ls -l
-rw-rw-r--. 1 linuxize linuxize 60 Mar 27 18:05 composer.json
-rw-rw-r--. 1 linuxize linuxize 11135 Mar 27 18:06 composer.lock
drwxrwxr-x. 6 linuxize linuxize 82 Mar 27 18:06 vendor
- vendor是存储项目依赖项的目录。
- composer.lock是一个文件,用于保存有关所有已安装包及其版本的信息,将项目锁定到特定版本。
- composer.json是描述 PHP 项目的文件,包括 PHP 依赖项和其他元数据。
所有PHP程序包可安装于 Composer 在Packagist中列出。
Composer 具有自动加载功能,允许我们使用 PHP 类而无需使用或文件。requireinclude
创建名为的文件并添加以下代码:testing.php
<?php
require __DIR__ . '/vendor/autoload.php';
use Carbon\Carbon;
printf("Now: %s", Carbon::now());
让我们一行一行地分析代码。
该文件由 Composer 自动生成,并自动加载所有库。vendor/autoload.php
下一行创建别名,最后一行使用碳方法打印当前时间。Carbonnow
通过键入以下类型运行脚本:
php testing.php
输出应类似:
Now: 2020-06-17 20:41:04
稍后,如果需要更新项目包,请输入:
composer update
上面的命令将检查已安装包的较新版本,如果找到较新版本,并且版本约束与中指定的版本匹配,Composer 将更新包。composer.json
原创文章,作者:校长,如若转载,请注明出处:https://www.yundongfang.com/Yun35840.html