Ubuntu 14.04下载,安装和使用Composer

・7 分钟阅读

Composer是非常流行的PHP管理工具,用于依赖项,用于使项目的安装和更新更容易,它还检查项目需要哪些其他包,并为你自动获取它们,正确的版本。

在这个文档中,我们会在Ubuntu 14.04 VPS上安装,并且使用Composer 。

要求

  • 一个Ubuntu 14.04 VPS ,
  • 具有Sudo访问该VPS的常规用户。

安装

依赖项安装

首先,我们必须确保我们的VPS已经成功安装和工作了Composer的所有要求。

更新软件包列表。

 
sudo apt-get update

 

接下来,实际安装Composer要求,下载时需要curl,而php5-cli则需要安装和使用它,Composer还使用git进行项目需求下载。

安装需求。


sudo apt-get install curl php5-cli git

下载并安装

安装Composer非常简单。


curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

下载并安装composer作为一个全局命令,称为,位于/usr/local/bin中,你会得到这个输出。


#!/usr/bin/env php
All settings correct for using Composer
Downloading...

Composer successfully installed to: /usr/local/bin/composer
Use it: php /usr/local/bin/composer

运行以下命令来测试安装。

 
composer

 

输出如下所示。


 ______
 / ____/___ ____ ___ ____ ____ ________ _____
 / / / __ / __ `__ / __ / __ / ___/ _ / ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ /
____/____/_/ /_/ /_/ .___/____/____/___/_/
 /_/
Composer version 1.0-dev (9859859f1082d94e546aa75746867df127aa0d9e) 2015-08-17 14:57:00

Usage:
 command [options] [arguments]

用法

JSON文件

要使用Composer,需要一个名为composer.json的文件,告诉Composer项目有什么需求以及要安装的这些需求的版本,不要手动创建它以避免犯错 - 当你添加依赖项时,Composer会为你创建文件。其他的依赖项也会自动添加。

例子Composer用法

要将Composer用于依赖项安装,请执行以下操作:

  • 确定应用程序所需的库,
  • 在Composer的存储库上找到一个好的开源库。
  • 选择你想要的软件包,
  • 使用composer require包括和安装依赖项,

初始化Slugit

我们会首先为这个应用创建一个文件夹,叫做slugit


mkdir ~/slugit
cd ~/slugit

在Packagist上搜索

我们现在去packagist.org,找到软件包来帮助生成slugs ,在Packagist上搜索slug应该显示其中的一些包。


easy-slug/easy-slug, muffin/slug, ddd/slug, zelenin/slug, webcastle/slug, anomaly/slug-field_type

选择包之后,我们运行composer require,以便将它作为依赖项,生成composer.json,并且安装它。


composer require cocur/slugify

从生成的输出中,composer选择了最新的包版本,并且使用它,检查~/slugit你应该看到2个文件,composer,lock and composer,json,文件夹 vendor 。

composer.lock用于存储有关软件包版本的信息,并将它们保存在相同的位置。

vendor文件夹用于安装依赖项,不要将此文件夹提交到Git存储库或GitHub 。

如果已下载的项目已经包含composer.json,请使用composer install下载它依赖项。

了解版本约束

如果检查composer.json包含的内容,则应该看到类似于此块的内容。


{
"require": {
"cocur/slugify":"^1.2"
 }
}

Composer有许多不同的格式和约束来定义包的版本,以提供灵活性和稳定性。^版本号使该版本成为最低版本,并允许以下所有版本的2.0

自动加载脚本

Composer提供自动加载脚本,这使得使用依赖项和命名空间变得更加容易。

在任何类实例化之前,只在PHP中包含vendor/autoload.php

回到我们的slugit例子,让我们使用cocur/slugify创建一个名为example.php的测试脚本。

 
vim example.php

 

将以下内容放入example.php


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

use CocurSlugifySlugify;

$slugify = new Slugify();

echo $slugify->slugify('Hello World, this is a long sentence and I need to make a slug from it!');

运行脚本。

 
php example.php

 

它将输出以下文本:


hello-world-this-is-a-long-sentence-and-i-need-to-make-a-slug-from-it

更新项目依赖项

更新项目相关性。

 
composer update

 

如果发现更新,并且与composer.json中给出的约束兼容,它将替换以前的版本,并且更新composer.lock


composer update vendor1/package1 vendor2/package2

结束语

在本教程中,我们进行了安装,配置以及使用Composer进行PHP应用程序依赖关系管理的示例。

Haojinghui profile image