Composer 不会全局安装包,也就是说你全局安装了composer,你以后在哪个文件夹下面安装包都不会影响到你在其他文件夹的包,通俗的来讲,就是你全局安装composer后,你的每个文件夹都是一个虚拟环境
本质: 是一个加强版本的自动加载器(Plus+)
直接进入指定文件夹,打开cmd输入如下几条命令即可
php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');" php composer-setup.php php -r "unlink('composer-setup.php');"
# mac/linux curl -sS https://getcomposer.org/installer | php
推荐使用全局安装
更新composer是指全局安装的composer更新,因为,局部安装的composer一般都是最新的版本
composer selfupdate
检验你是否安装成功composer,打开你的cmd,然后在里面输入composer,如果出现如图所示的composer图,则表示安装成功了
查看composer的版本composer -V 或者:composer -Version
安装composer镜像加速会让你以后的包下载速度非常的快(如下操作都是指全局安装composer后)
查看配置
composer config -gl repo.packagist
配置全局变量为阿里云镜像:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
首先如果你要使用composer的话,你肯定是要创建文件管理包的,就像node.js当中有npm但是也需要package.json像npm中的package.json或者是composer中的composer.json这些文件一般是都有你下载的这些包的信息。
个人推荐使用第二种方法,第二种方法创建的composer.json文件更简介,初始化后有几个文件必须要了解
其实如果一开始你就要安装第三方包的话,直接使用安装第三方包的命令就可以了,这样安装会直接初始化composer然后再进行包安装,安装包一般会有如下几个步骤:
搜索包
比如说要搜索个php库Monolog,再cmd下直接执composer search monolog就行了
直接进入官网搜索包,这样就可以直接下载,还会有使用教程第三方包官网
查看包
直接再composer.json中加入如下的字段:,然后使用命令composer install
"require": { "monolog/monolog": "1.26.*" }
一个是包的名称,一个是包的版本,(^这个符号是固定符号,*这个符号是不确定符号)
直接按照官网来,使用composer require 包名来安装,不过这样安装的包是最新版本,使用composer require 包:指定版本来安装指定版本
如果有以下情况,都可以进行更新依赖:
直接再composer.json中删除该库,然后运行composer update
composer update
composer update 包名
composer remove 包名
项目中需要用到自动加载的的文件有哪些?
在composer.json文件中的autoload下面添加file
// composer.json { "autoload": { "files": ["config/database.php", "lib/common.php"] } }
使用就直接包含自动加载文件就可以了
在composer.json文件中的autoload下面添加classmap
{ "autoload": { "files": ["config/database.php", "lib/common.php"], "classmap": ["inc/", "src/Base.php"] } }
使用就直接包含自动加载文件就可以了
在composer.json文件中的autoload下面添加psr-4字段即可
"psr-4": { "app\\admin\\controller\\": "src/app/controllers", "app\\admin\\models\\": "src/app/models", "app\\": [ "src/app", "src/app/test" ] }
使用就直接包含自动加载文件就可以了
composer.json中添加require字段
"require": { "catfan/medoo": "^2.1" }
# 无composer.lock composer install # 有composer.lock composer update
三合一: 声明,注册,下载
# 下载包 composer require catfan/medoo # 移除包 composer remove catfan/medoo
以安装thinkphp为例
```bash # 安装脚手架/目录架构,包含了源码vendor目录 composer create-project topthink/think shop # 只有源码,没有目录架构 composer require topthink/framework ```
总结:发送你写的东西,和依赖包的时候,发送composer.lock就可以了,无composer.lock使用composer install,有composer.lock使用composer update
composer中的代码也就是gethub中的代码,只不过使用了Packagist把github中的代码集合了,就是把代码整理在Packages
Packagist,代码安装库
学习猿地
composer常用的库
资料
Composer中文使用教程
菜鸟教程