有用PHP依赖管理工具Composer新手教程

PHP依赖管理工具Composer新手教程

Composer 是 PHP 的一个依赖管理工具。它赞成你申明项目所依赖的代码库,它会在你的项目中为你安装他们。

依赖管理

Composer 不是一个包管理器。

是的,它涉及 "packages" 和 "libraries",但它在每个项目的基础上进行管理,在你项目的某个文件夹中(好比 vendor)进行安装。php

默认状况下它不会在全局安装不论什么东西。所以,这不过一个依赖管理。

这样的想法并不新奇,Composer 受到了 node's npm 和 ruby's bundler 的强烈启示。而当时 PHP 下并无相似的工具。

Composer 将这样为你解决这个问题:
你有一个项目依赖于若干个库。
当中一些库依赖于其它库。
你声明你所依赖的东西。
Composer 会找出哪一个版本号的包需要安装。并安装它们(将它们下载到你的项目中)。html



參考:http://www.lai18.com/content/319715.html
http://docs.phpcomposer.com/00-intro.md 
声明依赖关系

例如说,你正在建立一个项目,你需要一个库来作日志记录。你决定使用 monolog。为了将它加入到你的项目中,你所需要作的就是建立一个 composer.json 文件。当中描写叙述了项目的依赖关系。

node

{
    "require": {
        "monolog/monolog": "1.2.*"
    }
}

咱们仅仅要指出咱们的项目需要一些 monolog/monolog 的包,从 1.2 開始的不论什么版本号。

系统要求

执行 Composer 需要 PHP 5.3.2+ 以上版本号。一些敏感的 PHP 设置和编译标志也是必须的,但对于不论什么不兼容项安装程序都会抛出警告。

咱们将从包的来源直接安装,而不是简单的下载 zip 文件,你需要 git 、 svn 或者 hg ,这取决于你加载的包所使用的版本号管理系统。

Composer 是多平台的,咱们努力使它在 Windows 、 Linux 以及 OSX 平台上执行的相同出色。

Linux/Unix下安装

局部安装


要真正获取 Composer。咱们需要作两件事。

首先安装 Composer (相同的,这意味着它将下载到你的项目中):

nginx

curl -sS https://getcomposer.org/installer | php

注意: 假设上述方法由于某些缘由失败了,你还可以经过 php >下载安装器:

php -r "readfile('https://getcomposer.org/installer');" | php

这将检查一些 PHP 的设置。而后下载 composer.phar 到你的工做文件夹中。

这是 Composer 的二进制文件。git

这是一个 PHAR 包(PHP 的归档),这是 PHP 的归档格式可以帮助用户在命令行中运行一些操做。

你可以经过 --install-dir 选项指定 Composer 的安装文件夹(它可以是一个绝对或相对路径):

npm

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

全局安装

你可以将此文件放在不论什么地方。假设你把它放在系统的 PATH 文件夹中。你就能在全局訪问它。

在类Unix系统中,你甚至可以在使用时不加 php 前缀。编程



你可以运行这些命令让 composer 在你的系统中进行全局调用:

json

curl -sS https://getcomposer.org/installer | phpmv composer.phar /usr/local/bin/composer

注意: 假设上诉命令因为权限执行失败。 请使用 sudo 再次尝试执行 mv 那行命令。

现在仅仅需要执行 composer 命令就可以使用 Composer 而不需要输入 php composer.phar。数组



全局安装 (on OSX via homebrew)

Composer 是 homebrew-php 项目的一部分。ruby



brew update
brew tap josegonzalez/homebrew-php
brew tap homebrew/versions
brew install php55-intl
brew install josegonzalez/php/composer

Windows下安装

使用安装程序


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

下载并且执行  Composer-Setup.exe。它将安装最新版本号的 Composer 。并设置好系统的环境变量,所以你可以在不论什么文件夹下直接使用 composer 命令。



手动安装

设置系统的环境变量 PATH 并执行安装命令下载 composer.phar 文件:

C:\Users\username>cd C:\bin
C:\bin>php -r "readfile('https://getcomposer.org/installer');" | php

注意: 假设收到 readfile 错误提示。请使用 http 连接或者在 php.ini 中开启 php_openssl.dll 。 在 composer.phar 同级文件夹下新建文件 composer.bat :

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

关闭当前的命令行窗体。打开新的命令行窗体进行測试:

C:\Users\username>composer -V
Composer version 27d8904

使用 Composer

现在咱们将使用 Composer 来安装项目的依赖。

要解决和下载依赖。请运行 install 命令:

php composer.phar install

假设你进行了全局安装。并且没有 phar 文件在当前文件夹。请使用如下的命令取代:

composer install

继续 上面的样例。这里将下载 monolog 到 vendor/monolog/monolog 文件夹。

本身主动载入

除了库的下载。Composer 还准备了一个本身主动载入文件。它可以载入 Composer 下载的库中所有的类文件。

使用它。你仅仅需要将如下这行代码加入到你项目的引导文件里:

require 'vendor/autoload.php';

现在咱们就可以使用 monolog 了!



延伸阅读

《PHP高级知识进阶》系列技术文章整理收藏 

1session机制具体解释以及session的相关应用

2php採集自中央气象台范围覆盖全国的天气预报代码实例

3smarty本身定义函数htmlcheckboxes使用方法实例

4PHP Session可能会引发并发问题

5PHP callback函数用法和注意事项

6朋友网关于QQ相关的PHP代码(研究QQ的绝佳资料)

7PHP中使用imagick生成PSD文件缩略图教程

8PHP实现将浏览历史页面网址保存到cookie的方法

9php中使用session防止用户非法登陆后台的方法

10利用XDebug分析PHP程序,找出性能瓶颈

11PHP依赖管理工具Composer新手教程

12PHP 开发人员该知道的5个 Composer 小技巧

13PHP实现的带超时功能get_headers函数

14PHP中实现获取IP和地理位置类分享

15php使用iconv中文截断问题的解决方法

16nginx下支持PATH_INFO具体解释

17PHP开发人员应了解的24个超酷的PHP库(微框架)

18HHVM 是怎样提高 PHP 性能的?

19php开启多进程的方法

20PHP异常处理

21PHP守护进程实例

22PHP多线程编程之管道通讯实例分析

23PHP多进程处理并行处理任务实例

24PHP使用QPM实现多进程并行任务处理程序

25PHP多线程以内部多线程实例分析

26xhprof安装&&使用

27推荐给开发人员的11个PHP框架

28Cookie与Session的差异-总结很是好的文章

29PHP自带Session隐患(session文件独占锁引发堵塞)

30php压缩和解压缩字符串的方法

31php利用反射实现插件机制的方法

32PHP SPL标准库之数据结构双链表(SplDoublyLinkedList)

33PHP SPL标准库之数据结构固定长度数组(SplFixedArray)

34xss攻击知识入门整理

35PHP SPL标准库之数据结构队列(SplQueue)和优先队列(SplPriorityQueue)

36PHP中的Streams具体介绍

37php以fastCGI的方式执行时文件系统权限问题及解决方法

38PHP性能分析工具XHProf安装使用教程

39百度project师讲PHP函数的实现原理及性能分析(二)

40百度project师讲PHP函数的实现原理及性能分析(三)

41百度project师讲PHP函数的实现原理及性能分析(一)

42正确的PHP匹配UTF-8中文的正則表達式

43php中关于socket的系列函数总结

44PHP SOCKET编程具体解释

45在Linux系统的server上隐藏PHP版本的方法

相关文章
相关标签/搜索