목차
介绍
依赖管理
声明依赖关系
系统要求
安装 - *nix
下载Composer可执行程序
局部安装
全局安装
安装 - Windows
使用安装程序
手动安装
使用Composer
自动加载
参考
php教程 php手册 PHP依赖管理工具Composer入门

PHP依赖管理工具Composer入门

Jun 06, 2016 pm 08:08 PM
com composer php 소개하다 의존하다 시작하기 관리 도구

介绍 Composer是PHP中的一个依赖管理工具. 它可以让你声明自己项目所依赖的库,然后它将会在项目中为你安装这些库。 依赖管理 Composer不是包管理器。是的,它实际上和"包"或者库打交道,但是它是以项目为单位进行管理,把它们安装到你项目中的一个目录(例

Composer

介绍

Composer是PHP中的一个依赖管理工具. 它可以让你声明自己项目所依赖的库,然后它将会在项目中为你安装这些库。

依赖管理

Composer不是包管理器。是的,它实际上和"包"或者库打交道,但是它是以项目为单位进行管理,把它们安装到你项目中的一个目录(例如vendor)。默认情况下它不会以全局的方式安装任何东西。因此,它是一个依赖管理器。

这个想法并不新鲜,Composer的灵感是来自于node的npm和ruby的bundler。但是目前PHP还没有一个这样的工具。

Composer解决的问题是:

a) 你有一个依赖N多库的项目。

b) 这些库中一些又依赖于其他的库。

c) 你声明你所依赖的库。

d) Composer找出哪些包的哪个版本将会被安装,然后安装它们(也就是把它们下载到你的项目中)。

声明依赖关系

假设你正在创建一个项目,然后你需要一个日志操作的库。你决定使用monolog。为了把它加入到你的项目中,你需要做的就是创建一个名为composer.json的文件,其描述这个项目的依赖关系。

1

2

3

4

5

6

<code>{

    "require": {

        "monolog/monolog": "1.2.*"

    }

}

</code>

로그인 후 복사

我们简单的描述说我们的项目依赖某个monolog/monolog包,版本只要是以1.2开头的就行。

系统要求

Composer需要PHP 5.3.2+才能运行。一些灵敏的PHP设置和编译选项也是必须的,不过安装程序(installer)会警告你任何不兼容的地方。

如果想要从源码而不是简单的从zip压缩包中安装软件包的话,你将需要git,svn或者hg,这依赖于软件包是通过什么进行版本控制的。

Composer是兼容多平台的,并且我们力争使其在Windows,Linux和OSX上的运行无差异。

安装 - *nix

下载Composer可执行程序

局部安装

为了获取Composer,我们需要做两件事。第一个是安装Composer(前面说过了,这意味下载它到你的项目中):

1

2

<code>$ curl -sS https://getcomposer.org/installer | php

</code>

로그인 후 복사

这只会检查一些PHP设置,然后下载composer.phar到你的工作目录中。这个文件是Composer二进制文件。它是一个PHAR (PHP archive),PHP的归档格式,也可以像其他命令一样在命令行上运行。

你可以使用--install-dir选项,并且提供一个目标目录(可以是绝对或者相对路径)从而把Composer安装到一个指定的目录:

1

2

<code>$ curl -sS https://getcomposer.org/installer | php -- --install-dir=bin

</code>

로그인 후 복사

全局安装

你可以把这个文件放到任何你想放的地方。如果你把它放到你的PATH中,你就可以全局访问它了。在类unix系统中你甚至可以使它可执行,并且调用的时候不需要php

你可以执行这些命令从而能够在你的系统上简单的访问composer

1

2

3

<code>$ curl -sS https://getcomposer.org/installer | php

$ sudo mv composer.phar /usr/local/bin/composer

</code>

로그인 후 복사

然后,只需要执行composer命令来运行Composer,而不是php composer.phar

安装 - Windows

使用安装程序

这是在你的机器上安装Composer最简单的方法。

下载并运行Composer-Setup.exe,它将会安装最新的Composer版本并且设置好PATH,然后你就可以在命令中的任何目录下调用composer了。

手动安装

切换到一个存在于PATH环境变量中的目录,然后执行安装代码片段来下载composer.phar:

1

2

3

<code>C:\Users\username>cd C:\bin

C:\bin>php -r "eval('?>'.file_get_contents('https://getcomposer.org/installer'));"

</code>

로그인 후 복사

创建一个新的以.bat结尾的composer文件:

1

2

<code>C:\bin>echo @php "%~dp0composer.phar" %*>composer.bat

</code>

로그인 후 복사

关闭你当前的终端。打开一个新的终端测试一下:

1

2

3

4

<code>C:\Users\username>composer -V

Composer version 27d8904

C:\Users\username>

</code>

로그인 후 복사

使用Composer

我们接下来要使用Composer来安装项目的依赖。如果你在当前目录下没有一个叫作composer.json的文件,请跳到基本使用章节。

为了解决并下载依赖,运行install命令:

1

2

<code>$ php composer.phar install

</code>

로그인 후 복사

如果你是全局安装,并且目录下没有phar文件,那么运行这个:

1

2

<code>$ composer install

</code>

로그인 후 복사

如果是上面的例子,这个操作将会下载monolog到vendor/monolog/monolog目录。

自动加载

除了下载库之外,Composer也会创建一个自动加载文件,这个文件能够自动加载Composer下载的库中所有的类。如果想使用它,只需要在你代码启动的地方加上如下代码:

1

2

<code>require 'vendor/autoload.php';

</code>

로그인 후 복사

哇哦!现在开始使用monolog吧! 如果想进一步学习Composer,继续阅读「基本使用」章节。 如果想要找需要的package,到Packagist。

参考

  • 英文原文:http://getcomposer.org/doc/00-intro.md
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

CakePHP 프로젝트 구성 CakePHP 프로젝트 구성 Sep 10, 2024 pm 05:25 PM

이번 장에서는 CakePHP의 환경 변수, 일반 구성, 데이터베이스 구성, 이메일 구성에 대해 알아봅니다.

Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드 Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드 Dec 24, 2024 pm 04:42 PM

PHP 8.4는 상당한 양의 기능 중단 및 제거를 통해 몇 가지 새로운 기능, 보안 개선 및 성능 개선을 제공합니다. 이 가이드에서는 Ubuntu, Debian 또는 해당 파생 제품에서 PHP 8.4를 설치하거나 PHP 8.4로 업그레이드하는 방법을 설명합니다.

CakePHP 날짜 및 시간 CakePHP 날짜 및 시간 Sep 10, 2024 pm 05:27 PM

cakephp4에서 날짜와 시간을 다루기 위해 사용 가능한 FrozenTime 클래스를 활용하겠습니다.

CakePHP 파일 업로드 CakePHP 파일 업로드 Sep 10, 2024 pm 05:27 PM

파일 업로드 작업을 위해 양식 도우미를 사용할 것입니다. 다음은 파일 업로드의 예입니다.

CakePHP 라우팅 CakePHP 라우팅 Sep 10, 2024 pm 05:25 PM

이번 장에서는 라우팅과 관련된 다음과 같은 주제를 학습하겠습니다.

CakePHP 토론 CakePHP 토론 Sep 10, 2024 pm 05:28 PM

CakePHP는 PHP용 오픈 소스 프레임워크입니다. 이는 애플리케이션을 훨씬 쉽게 개발, 배포 및 유지 관리할 수 있도록 하기 위한 것입니다. CakePHP는 강력하고 이해하기 쉬운 MVC와 유사한 아키텍처를 기반으로 합니다. 모델, 뷰 및 컨트롤러 gu

CakePHP 유효성 검사기 만들기 CakePHP 유효성 검사기 만들기 Sep 10, 2024 pm 05:26 PM

컨트롤러에 다음 두 줄을 추가하면 유효성 검사기를 만들 수 있습니다.

PHP 개발을 위해 Visual Studio Code(VS Code)를 설정하는 방법 PHP 개발을 위해 Visual Studio Code(VS Code)를 설정하는 방법 Dec 20, 2024 am 11:31 AM

VS Code라고도 알려진 Visual Studio Code는 모든 주요 운영 체제에서 사용할 수 있는 무료 소스 코드 편집기 또는 통합 개발 환경(IDE)입니다. 다양한 프로그래밍 언어에 대한 대규모 확장 모음을 통해 VS Code는

See all articles