PHP依赖管理工具Composer入门教程
依赖管理
Composer 不是一个包管理器。是的,它涉及 "packages" 和 "libraries",但它在每个项目的基础上进行管理,在你项目的某个目录中(例如 vendor)进行安装。默认情况下它不会在全局安装任何东西。因此,这仅仅是一个依赖管理。
这种想法并不新鲜,Composer 受到了 node's npm 和 ruby's bundler 的强烈启发。而当时 PHP 下并没有类似的工具。
Composer 将这样为你解决问题:
你有一个项目依赖于若干个库。
其中一些库依赖于其他库。
你声明你所依赖的东西。
Composer 会找出哪个版本的包需要安装,并安装它们(将它们下载到你的项目中)。
参考: http://www.lai18/content/319715.html
http://docs.phpcomposer/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/installer | php
注意: 如果上述方法由于某些原因失败了,你还可以通过 php >下载安装器:
php -r "readfile('https://getcomposer/installer');" | php
这将检查一些 PHP 的设置,然后下载 composer.phar 到你的工作目录中。这是 Composer 的二进制文件。这是一个 PHAR 包(PHP 的归档),这是 PHP 的归档格式可以帮助用户在命令行中执行一些操作。
你可以通过 --install-dir 选项指定 Composer 的安装目录(它可以是一个绝对或相对路径):
curl -sS https://getcomposer/installer | php -- --install-dir=bin
全局安装
你可以将此文件放在任何地方。如果你把它放在系统的 PATH 目录中,你就能在全局访问它。 在类Unix系统中,你甚至可以在使用时不加 php 前缀。
你可以执行这些命令让 composer 在你的系统中进行全局调用:
curl -sS https://getcomposer/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/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百度工程师讲PHP函数的实现原理及性能分析(二)
40百度工程师讲PHP函数的实现原理及性能分析(三)
41百度工程师讲PHP函数的实现原理及性能分析(一)
42正确的PHP匹配UTF-8中文的正则表达式
43php中关于socket的系列函数总结
44PHP SOCKET编程详解
45在Linux系统的服务器上隐藏PHP版本号的方法
更多推荐
实用PHP依赖管理工具Composer入门教程
发布评论