ubuntu php composer,如何安装和在Ubuntu 16.04使用Composer

介绍

Composer是PHP流行的依赖管理工具,建立主要是为了方便安装和更新项目的依赖。 它将检查特定项目所依赖的其他包,并为您安装它们,根据项目要求使用适当的版本。

本教程将解释如何在Ubuntu 16.04系统上安装和开始使用Composer。

先决条件

对于本教程,您将需要:运行Ubuntu 16.04的系统

访问服务器作为一个普通用户sudo的权限

第1步 - 安装依赖关系

在我们下载并安装Composer之前,我们需要确保我们的服务器已安装所有依赖项。

首先,通过运行以下命令更新包管理器高速缓存:sudo apt-get update

现在,让我们安装依赖项。 我们需要curl ,以下载Composer和php-cli安装和运行它。 在php-mbstring包装是必要的,因为我们将要使用的库提供的功能。 git所使用的Composer下载项目依赖,并unzip提取压缩包。 一切都可以使用以下命令安装:sudo apt-get install curl php-cli php-mbstring git unzip

您现在可以继续下一步。

第2步 - 下载并安装Composer

Composer提供了一个用PHP编写的安装程序。 确保你在你的home目录里,并使用检索安装curl :cd ~

curl -sS https://getcomposer.org/installer -o composer-setup.php

接下来,运行一个简短的PHP脚本,以确认安装程序的SHA-384散列上找到最新的安装相匹配Composer公钥/签名页。 您需要确保将最新的哈希替换为以下高亮显示的值:php -r "if (hash_file('SHA384', 'composer-setup.php') === '92102166af5abdb03f49ce52a40591073a7b859a86e8ff13338cf7db58a19f7844fbc0bb79b2773bf30791e935dbd938') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

输出Installer verified

要安装composer全球范围内,使用以下命令:sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer

这将下载并安装Composer作为一个全系统的命令命名的composer ,下/usr/local/bin 。 输出应如下所示:OutputAll settings correct for using Composer

Downloading 1.1.1...

Composer successfully installed to: /usr/local/bin/composer

Use it: php /usr/local/bin/composer

要测试安装,请运行:composer

你应该得到类似这样的输出:Output ______

/ ____/___ ____ ___ ____ ____ ________ _____

/ / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/

/ /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ /

\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/

/_/

Composer version 1.1.1 2016-05-17 12:25:44

Usage:

command [options] [arguments]

Options:

-h, --help Display this help message

-q, --quiet Do not output any message

-V, --version Display this application version

--ansi Force ANSI output

--no-ansi Disable ANSI output

-n, --no-interaction Do not ask any interactive question

--profile Display timing and memory usage information

--no-plugins Whether to disable plugins.

. . .

这意味着Composer已成功安装在系统上。

如果您喜欢为在此服务器上托管的每个项目提供单独的Composer可执行文件,则可以在每个项目的基础上在本地进行简单安装。 NPM的用户将熟悉这种方法。 当系统用户没有在系统范围内安装软件的权限时,此方法也很有用。

在这种情况下,可以在下载并验证上述安装脚本后进行安装,如下所示:php composer-setup.php

这将产生一个composer.phar在当前目录下,它可以与执行文件./composer.phar command 。

第3步 - 生成composer.json文件

为了在项目中使用的Composer,你需要一个composer.json文件。 该composer.json文件主要是告诉Composer哪些依赖它需要下载为您的项目,而且每个包的版本允许安装。 这是非常重要的,以保持您的项目一致,并避免安装不稳定的版本,可能会导致向后兼容性问题。

您不需要手动创建此文件 - 当您这样做时很容易遇到语法错误。 Composer自动生成composer.json当您使用添加依赖到项目文件require的命令。 还可以以相同的方式添加其他依赖项,而无需手动编辑此文件。

使用Composer将软件包作为依赖项安装在项目中的过程通常包括以下步骤:确定应用程序需要什么类型的库

研究合适的开源库Packagist.org ,Composer官方包库

选择您要依赖的包

运行composer require包括在依赖composer.json文件和安装包

我们将使用一个简单的演示应用程序来了解这是如何工作的。

此应用程序的目的是给定的句子转换成一个URL字符串友好- 蛞蝓 。 这通常用于将页面标题转换为URL路径(如本教程的URL的最后部分)。

让我们开始为我们的项目创建一个目录。 我们将slugify调用它:cd ~

mkdir slugify

cd slugify

在Packagist上搜索Packages

现在是时候来搜索Packagist.org为一个包,可以帮助我们产生蛞蝓 。 如果你在Packagist上搜索术语“slug”,你会得到类似的结果:

f9fae4d563eef40c2790e842b6295721.png

您会在列表中每个包的右侧看到两个数字。 顶部的数字表示软件包的安装次数,底部的数字表示软件包在GitHub上加载了多少次。 您可以根据这些数字重新排序搜索结果(查找搜索栏右侧的两个图标)。 一般来说,具有更多安装和更多星形的包通常更稳定,因为这么多人正在使用它们。 检查包描述是否相关也很重要 - 这是否真的是你想要的?

我们需要的是一个简单的字符串到slug转换器。 从搜索结果中,包cocur/slugify似乎是一个很好的匹配,具有安装和恒星的合理费用。 (包是比屏幕截图显示的页面更下一页。)

你会发现,在Packagist的包有供应商名称和包名称。 每个包都有相同格式的唯一标识符(命名空间)的GitHub用于其仓库: vendor/package 。 我们要安装库使用命名空间cocur/slugify 命名空间是我们需要为需要在我们的项目包。

需要一个包

现在,我们确切地知道我们要安装哪个包,我们可以运行composer require将它作为一个依赖,也产生了composer.json项目文件:composer require cocur/slugifyOutputUsing version ^2.1 for cocur/slugify

./composer.json has been created

Loading composer repositories with package information

Updating dependencies (including require-dev)

- Installing cocur/slugify (v2.1.1)

Downloading: 100%

Writing lock file

Generating autoload files

从输出中可以看到,Composer自动决定应该使用哪个版本的软件包。 如果你现在检查你的项目目录,它将包含两个新文件: composer.json和composer.lock和vendor目录:ls -lOutputtotal 12

-rw-rw-r-- 1 sammy sammy 59 May 17 10:24 composer.json

-rw-rw-r-- 1 sammy sammy 2894 May 17 10:24 composer.lock

drwxrwxr-x 4 sammy sammy 4096 May 17 10:24 vendor

该composer.lock文件用于存储有关所安装的每个包的版本的信息,并确保如果别人克隆你的项目,并安装它的依赖同样的版本使用。 该vendor目录是项目依赖的位置。 该vendor的文件夹不应该被提交到版本控制-你只需要包括composer.json和composer.lock文件。

当安装已包含一个项目composer.json文件,你需要运行composer install ,以便下载该项目的依赖。

了解版本限制

如果您检查的内容composer.json文件,你会看到这样的事情:cat composer.json

您可能会注意到特殊字符^在版本号之前composer.json 。 Composer支持几种不同的约束和格式来定义所需的软件包版本,以提供灵活性,同时保持项目稳定。 插入符号( ^通过自动生成的使用)运营商composer.json文件是最大的互操作性建议的操作员,下面语义版本 。 在这种情况下,它定义2.1作为最小兼容版本,并且允许更新低于3.0的任何未来的版本。

一般来说,你将不再需要在您的版本约束篡改composer.json文件。 但是,在某些情况下,可能需要手动编辑约束 - 例如,当所需库的主要新版本发布并且要升级时,或者当您要使用的库不遵循语义版本控制时。

以下是一些例子,让您更好地了解Composer版本约束的工作原理:约束含义允许的示例版本^ 1.0> = 1.0 <2.01.0,1.2.3,1.9.9

^ 1.1.0> = 1.1.0 <2.01.1.0,1.5.6,1.9.9

〜1.0> = 1.0 <2.0.01.0,1.4.1,1.9.9

〜1.0.0> = 1.0.0 <1.11.0.0,1.0.4,1.0.9

1.2.11.2.11.2.1

1. *> = 1.0 <2.01.0.0,1.4.5,1.9.9

1.2。*> = 1.2 <1.31.2.0,1.2.3,1.2.9

对于Composer版本约束的更深入了解,请阅读官方文档 。

第4步 - 包括自动加载脚本

由于PHP本身不会自动处理类的加载,Composer还提供了一个自动加载脚本,您可以将其包含在项目中以免费自动加载。 这使得它更容易使用您的依赖和定义自己的命名空间。

你需要做的唯一事情是包括vendor/autoload.php在PHP脚本文件,任何类实例化之前。

让我们再回到slugify示例应用程序。 我们将用nano来创建一个test.php脚本,我们将使用cocur / slugify库:nano test.php

test.php

您可以在命令行中使用以下命令运行脚本:php test.php

这应该产生输出hello-world-this-is-a-long-sentence-and-i-need-to-make-a-slug-from-it 。

第5步 - 更新项目依赖关系

每当你想更新项目的依赖,你只需要运行update命令:composer update

这将检查您的项目中所需的库的较新版本。 如果发现新版本,它是用在定义的版本兼容约束composer.json文件,它将替换安装以前的版本。 该composer.lock文件将被更新,以反映这些变化。

您还可以通过运行以下命令来更新一个或多个特定库:composer update vendor/package vendor2/package2

结论

本教程涵盖了在Ubuntu 16.04上开始使用Composer的基本知识。 Composer是每个PHP开发人员在其实用程序中应该具有的强大工具。

除了提供一种简单可靠的方式来管理项目依赖项,它还建立了一个新的事实标准,用于共享和发现社区创建的PHP包。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值