1、Package引用和版本:
## 引用
# 1、引用 在 composer.json中
"require":{
"mustache/mustache":"2.9.0"
}
# 2、然后执行 composer install 就可以拉取相应包
## 版本
"require":{
"mustache/mustache":"~2.8.1" // 这里‘~’ 表示 从 2.8.1 到 2.9.0
"mustache/mustache":"~2.8" // 表示 2.8.0 到 3.0
"mustache/mustache":"~2.7.0" // 表示 2.7.0 到 2.8.0
"mustache/mustache":"^2.8.1" // 这里 ‘^’ 表示 从 2.8 到 3.0
"mustache/mustache":"^0.8" // 表示 0.8 到 0.9
}
2、理解Composer install和update:
> composer install
# 该命令时候:会先读取composer.lock文件,然后以该文件的版本为主,如果没有该文件再去读取comoposer.json文件,
(以composer.lock为主)
> composer update
# 该命令时候:会先执行compoer.json文件,然后把相应信息重新生成覆盖到composer.lock文件中,
(以composer.json为主)
*** 所以添加新的package还是用require命令比较好! ***
3、Composer自动加载简析:
vendoer下文件中的composer.json文件,会被 compser的autoload.php文件读取,然后自动加载到要用到的文件中
4、Find A Package :
第一种: 去 packagist.org
第二种: 命令行
> composer search xxx
// 搜索包名
> composer show xxx
// 拿到包的版本信息
> composer require xxx 版本信息
//例如: composer require ultraware/roles 5.5.0
5、使用Composer创建项目:
> composer create-project xxx 项目名 版本号(不写版本号默认最新)
// 例如:composer create-project laravel/laravel blog 5.5.0 --prefer-dist
// --prefer-dist : 仅下载代码而不要从github克隆代码
6、理解 require-dev :
# 生产环境不需要这些包也能正常跑起来
***** 开发环境 *****
> composer update // 把这些包下载到开发环境当中,然后开发环境就有这些包
# 接下来如果到了生产环境,如何过滤掉这些包呢?因为提交项目这些文件会被提交到生产环境中。可用到'composer.lock'
***** 生产环境 *****
> composer install --no-dev // 生产环境执行:表示忽略dev中的包,就是 "require-dev" 中的包
# 所以提交项目时候,一定要包含 'composer.lock' 文件
7、Composer运行shell命令 :
# composer.json 中自定义一些脚本命令,在 composer install 和 composer update 时候执行
# 自定义脚本命令要放到 scripts 里面,而且有一定的格式!参考官网手册
8、发布自己的Package:
创建自己的 Package,然后发布到 packagist.org 站点上
# 1、GitHub 上创建自己的项目
# 2、本地命令行 git clone 自己项目的地址 xxx
# 3、cd 项目根目录后 [ master ] 分支
> composer init
# 4、然后根据提示进行填写信息
# 5、然后就生成了 composer.json 文件
# 6、然后去GitHub上面可以看到刚才项目生成的composer.json文件
# 7、发布到packagist.org 网站。登录该网站,然后选择右上角Submit
# 8、然把GitHub上面项目链接粘贴到输入框,然后提交~
# 9、注意配置这里: 在packagist.org 网站的个人信息Profile中,拿到Token,然后到GitHub的setting页面,如下图
* 如果看到
* 需要配置一下
# 配置好了之后,每次git push 代码到GitHub之后,GitHub都会自动去 packagist.ort更新我们的代码!完毕~