没有情调,不懂浪漫,也许这是程序员的一面,但拥有朴实无华的爱是他们的另一面。
下面是官方的解释
是 PHP 用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer 会帮你安装这些依赖的库文件。
这个是我的理解
composer 是一个php的包管理工具。顾名思义就是我们可以下载别人写好的php包用到自己的项目中来。从而提高代码的开发效率和质量,降低了开发成本。
这里有composer所有的php包 我们可以在这里查看所需要的php包。正所谓不重复发明轮子。那么我们用别人发明的轮子去造自己的汽车岂不更好?
说到安装composer 就是一个坑。下载就要下载好几遍才能把composer下载下来。因为composer的源在国外。所以下载起来会很慢很慢。
官方的安装条命令可能行不通
curl -sS https://getcomposer.org/installer | php
我们来换个思路,通过浏览器下载这个地址 https://getcomposer.org/installer 只要把把这个文件下载下来就ok了
剩下就是把这个文件移动到 bin目录下就ok了
mv composer.phar /usr/local/bin/composer
还可以使用homebrew方法安装
brew update
brew tap josegonzalez/homebrew-php
brew tap homebrew/versions
brew install php55-intl
brew install josegonzalez/php/composer
下载这个 https://getcomposer.org/Composer-Setup.exe 安装完成就好。因为你要在任何目录下直接使用 composer 命令,所以我们需要把配置环境变量。 具体配置方法参考这里 只需要把composer安装目录放到环境变量里就好
创建composer.json 文件格式如下 (官方文档传送门)
{
// 在require 的对象下增加想要的php包
"require": {
"monolog/monolog": "1.0.*" // 这里添加要引人的包文件 格式为 "命名空间/包名":"包版本号"
}
//自动加载
"autoload": {
"psr-4": {"Acme\\": "src/"} //使用psr-4 的规范去加载 可以自定义一些目录来管理自己的代码哦
}
}
安装composer.json配置文件中的 php包 安装完成后会生成一个 composer.lock 的锁文件 这样不能用下面的方法了。
composer install
不编辑composer.json 的情况下安装包
composer require "foo/bar:1.0.0"
更新 composer.json 中的各个库
composer update
更新单个库
composer update foo/bar
composer list //列出所有可用的命令
composer init //初始化composer.json文件,会要求输入一些信息来描述我们当前的项目,还会要求输入依赖包
composer install //读取composer.json内容,解析依赖关系,安装依赖包到vendor目录下
composer update //更新最新的依赖关系到compsoer.lock文件,解析最新的依赖关系并且写入composer.lock文件
composer search packagename //搜索包,packagename替换为你想查找的包名称
composer require packagename //添加对packagename的依赖,packagename可修改为你想要的包名称
composer show packagename
composer self-update //更新 composer.phar文件自身
composer command --help //以上所有命令都可以添加 --help选项查看帮助信息
如果你在中国使用composer 可以好多想要的包下载特慢。 慢就对了 好多优秀的php包的源都在国外。中国有一堵墙把这些包隔离在外。如何解决这问题呢?有好几个出路可供选择参考
去国外 (不太现实)
翻墙 (如果你有这方面的技术可以用这个方法)
多下载几遍(一般多试几次就可以了,失败为成功的母亲)
使用中国composer的中国镜像(个人觉得可能不太安全、包的更新可能不及时)
composer config -g repositories.packagist composer http://packagist.phpcomposer.com