简介
composer是一个模块管理器。
在PHP开发中,多数大型工程必须使用模块化的开发方式。而许多模块都是其他程序员已经写好的模块,已经经过调试,并且几乎完善的。
composer允许程序员把自己写好的模块上传到库中,也允许程序员挑选并下载适合自己的模块,从而避免了“重复发明轮子”的情况。
不过composer中的代码接口等必须要符合一定的规范,才能被接受,比如最主要的PSR-0和PSR-4。
这些都可以在php-fig上看到。
composer的安装
登陆composer官方网址下载合适的文件。
这里安装过程非常简单,就是后面有个PHP环境路径选项,找到你的php.exe就行了。
然后安装完成以后,在系统的环境变量中的Path项中添加“C:\ProgramData\ComposerSetup\bin”(win10以前的版本是直接编辑值,那需要在原本的环境变量末尾加一个分号,然后再把要添加的东西复制进去,win10像我这个很方便)
完成上述操作以后,在cmd中输入“composer -v”,如果输出了composer的版本信息,则证明你已经安装成功。
composer的使用方法
packagist
packagist是composer的组件资源库,通过这里就可以进入。
由于是一个外国网站,访问起来可能比较慢。下图是packagist的样子:
通过输入你想要的模块名字,你就能搜索到想要的模块了。
比如说我现在想给我的网站添加一个日志组件。那么我在搜索框里面输入“log”,能看到以下内容:
在这里我想选择名为“monolog”的组件。
那么我们来到自己的目标文件夹,在你想要安装这个monolog的地方新建一个“composer.json”文件,在这个文件中记录你想要的组建名称和版本:
{
"name": "ChenHui/model-test",
"require": {
"monolog/monolog": "1.0.*"
}
}
其中,”name”是指你自己的项目信息,被斜杠分为两部分,前面的“ChenHui”是指你的公司名,后面是项目的名字。
然后require里面那个你肯定知道了。冒号前面的内容是模块的名字,后面的是版本。在这里,版本号有多种表示方法:
确切版本号 比如说“1.1.2”;
范围版本号 比如说“>=1.1”、”<2.3”;
通配符版本号 比如说“1.0.*”,用于匹配>=1.0且<1.1的版本;
赋值运算版本号 比如说“~1.0”,用于匹配>=1.0且<2.0的版本。
然后我们确定好版本,通过cmd进入项目的根目录,输入命令“composer install”。此时,composer会检查你的composer.json文件,并创建文件夹vendor和文件composer.lock,里面记录着当前依赖组件的确切版本号(前面你写的json文件里面是相对来讲比较模糊的版本号)。然后程序就会下载组件及其依赖库。
这个lock文件的作用就是在多人开发的时候,能够保证团队中的每个人使用的组件版本号都是一致的。在执行“composer install”命令时,程序会先检查这个lock文件而不是json文件。
如果组件有了更新的版本,你就可以运行“composer update”来更新组件。
在项目中自动加载组件
在执行了install命令后,composer还在vendor中创建了一个自动加载文件,
========================================施工现场=========================================