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

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



依赖管理



Composer 不是一个包管理器。

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

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



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



Composer 将这样为你解决这个问题:

你有一个项目依赖于若干个库。

当中一些库依赖于其它库。

你声明你所依赖的东西。

Composer 会找出哪个版本号的包须要安装。并安装它们(将它们下载到你的项目中)。

參考:http://www.lai18.com/content/319715.html

http://docs.phpcomposer.com/00-intro.md 

声明依赖关系



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

{
"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 (相同的,这意味着它将下载到你的项目中):

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

注意: 假设上述方法因为某些原因失败了,你还能够通过 php >下载安装器:

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

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

这是 Composer 的二进制文件。

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



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

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

全局安装



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

在类Unix系统中,你甚至能够在使用时不加 php 前缀。

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

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 项目的一部分。

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版本的方法

有用PHP依赖管理工具Composer新手教程的更多相关文章

  1. PHP的依赖管理工具----composer

    安装Composer 参考:https://getcomposer.org/doc/01-basic-usage.md composer 是PHP依赖管理工具 PHP最低版本要求5.3.2,需要允许o ...

  2. PHP依赖管理工具Composer入门

    作者: JeremyWei | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明 网址: http://weizhifeng.net/manage-php-dependency-wi ...

  3. PHP的包依赖管理工具Composer简介

    composer是一个基于项目的依赖管理器,负责将php项目的所依赖的包和库安装在项目的目录中,默认不会不会安装任何数据到全局.他用于取代之前pear工具 1 安装Composer curl -sS  ...

  4. Composer : php依赖管理工具

    原始时代 我记得在当时用php的时候还没有composer,只有个pear,但是不好用呀,还不如直接在互联网上到处复制代码了,更快更不容易出错,当时也没有github这么好的社区工具了 总结如下 代码 ...

  5. composer php依赖管理工具

    #composer是什么 Composer 是 PHP 的一个依赖管理工具.它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们. composer出现之前我们php项目依赖管理大部分都是手动 ...

  6. windows下安装php依赖关系管理工具composer

    1.安装Composer Composer是PHP的依赖管理工具之一,官方网站 http://getcomposer.org/ .它支持多种安装方式,对于在win下做开发的草来说,最便捷的方式就是下载 ...

  7. Go 包依赖管理工具 —— govendor

    govendor 是一个基于 vendor 机制实现的 Go 包依赖管理命令行工具.与原生 vendor 无侵入性融合,也支持从其他依赖管理工具迁移,可以很方便的实现同一个包在不同项目中不同版本.以及 ...

  8. yarn依赖管理工具的使用

    Yarn是Facebook发布的一款依赖管理工具,它比npm更快.更高效. 与NPM命令对照 npm install => yarn install npm install --save [pa ...

  9. Golang依赖管理工具:glide从入门到精通使用

    这是一个创建于 2017-07-22 05:33:09 的文章,其中的信息可能已经有所发展或是发生改变. 介绍 不论是开发Java还是你正在学习的Golang,都会遇到依赖管理问题.Java有牛逼轰轰 ...

随机推荐

  1. vivo和OPPO手机刷机

    vivo和OPPO手机是蓝绿两厂,定位年轻时尚女士,比较注重拍照和听音乐,其他无视. 系统很少更新,Root和刷机也比较困难,建议是直接卡刷. 小米手机耍猴(猴子精,代指懂点手机的人) 蓝绿两厂是耍猪 ...

  2. (Mac)centos 6.5安装 JDK+mysql

    为了把自己的网站放到外网,购买了阿里云的centos 6.5服务器,以下是安装 JDK 一.JDK安装: 方法一: 1.创建目录,命令行:(这里可以不加sudo) sudo mkdir /jdk 2. ...

  3. BZOJ3772 精神污染 【主席树 + dfs序】

    题目 兵库县位于日本列岛的中央位置,北临日本海,南面濑户内海直通太平洋,中央部位是森林和山地,与拥有关西机场的大阪府比邻而居,是关西地区面积最大的县,是集经济和文化于一体的一大地区,是日本西部门户,海 ...

  4. 模块(二)——简单的log日志

    简单的log日志 鉴于任何功能模块或系统在调试时都需要日志打印,这里随便写了一下,作为以后代码调试之用,只实现了不同等级的日志输出功能,其他的调试功能以后再行添加:使用方法简单,只需要在头文件里事先按 ...

  5. Python之文件操作:经验总结

    1.怎么判断读出来的文件是gbk还是utf-8编码 if content == u'中国'.encode('gbk'):     return 'gbk' elif content == u'中国'. ...

  6. live-server 快速搭建静态服务

    作为切图仔呢,平时都是在修改页面样式.展示后台返回的数据.调试js效果,这时候呢就需要搭一个服务器以便我们调试.平时我一般用的都是wamp,在www目录下新建项目然后开始撸代码,不过有时候呢不太方便, ...

  7. Bzoj2882 工艺 [线性算法]

    后缀自动机题解 -> http://www.cnblogs.com/SilverNebula/p/6420601.html 后缀自动机敲完,看了下排行,wc为什么别人跑得这么快?……是诶,这最小 ...

  8. 【HDOJ5534】Partial Tree(树,背包DP)

    题意:有一棵n个点的形态不定的树,每个度为i的节点会使树的权值增加f[i],求树的最大权值 n<=2015,0<=f[i]<=1e4 思路:对不起队友,我再强一点就能赛中出这题了 显 ...

  9. VIjosP1046观光旅游

    背景 湖南师大附中成为百年名校之后,每年要接待大批的游客前来参观.学校认为大力发展旅游业,可以带来一笔可观的收入. 描述 学校里面有N个景点.两个景点之间可能直接有道路相连,用Dist[I,J]表示它 ...

  10. 【Reship】use of tangible T4 template engine

    1.first of all 之前在 “使用T4模板生成代码 – 初探” 文章简单的使用了T4模板的生成功能,但对于一个模板生成多个实例文件,如何实现这个方式呢?无意发现一个解决方案 “Multipl ...