composer

composer 概述
  • FIG 最初由几位知名 PHP 框架开发者发起,在吸纳了许多优秀的大脑和强健的体魄后,提出了 PSR-0 到 PSR-4 五套 PHP 非官方规范:
  1. PSR-0 (Autoloading Standard) 自动加载标准
  2. PSR-1 (Basic Coding Standard) 基础编码标准
  3. PSR-2 (Coding Style Guide) 编码风格向导
  4. PSR-3 (Logger Interface) 日志接口
  5. PSR-4 (Improved Autoloading) 自动加载优化标准
  • 之后,在此标准之上,Composer 横空出世!Composer 利用 PSR-0 和 PSR-4 以及 PHP5.3 的命名空间构造了一个繁荣的 PHP 生态系统。
常用命令
  • 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 查看有哪些包
  • composer self-update 更新 composer.phar文件自身
  • composer dump-autoload --optimize 优化一下自动加载
  • composer command --help 以上所有命令都可以添加 --help选项查看帮助信息
  • composer remove monolog/monolog 移除某个包
composer init 说明
yzm@Alert MINGW64 /i/phpstudy/WWW/uploadfile
$ composer init Welcome to the Composer config generator This command will guide you through creating your composer.json config. // 1. 输入项目命名空间
// 注意<vendor>/<name> 必须要符合 [a-z0-9_.-]+/[a-z0-9_.-]+
Package name (<vendor>/<name>) [dell/htdocs]: yourname/projectname // 2. 项目描述
Description []: 这是一个测试 // 3. 输入作者信息,可以直接回车
Author [guanguans <53222411@qq.com>, n to skip]: // 4. 输入最低稳定版本,stable, RC, beta, alpha, dev
Minimum Stability []: dev // 5. 输入项目类型,
Package Type (e.g. library, project, metapackage, composer-plugin) []: library // 6. 输入授权类型
License []:
> Define your dependencies. // 7. 输入依赖信息
Would you like to define your dependencies (require) interactively [yes]? // 如果需要依赖,则输入要安装的依赖
Search for a package: php // 输入版本号
Enter the version constraint to require (or leave blank to use the latest version): >=5.4.0 // 如需多个,则重复以上两个步骤 // 8. 是否需要require-dev,
Would you like to define your dev dependencies (require-dev) interactively [yes]? // 操作同上
{
"name": "guanguans/uploadfile",
"description": "一个通用文件上传包",
"type": "library",
"require": {
"php": ">=5.4"
},
"require-dev": {
"php": ">=5.4"
},
"license": "MIT",
"authors": [
{
"name": "guanguans",
"email": "yzmguanguan@gmail.com"
}
],
"minimum-stability": "dev"
} // 9. 是否生成composer.json
Do you confirm generation [yes]? yes
自动加载
1. 以淘宝sdk为例
  • 检查是否有引入vendor文件夹下的autoload.php文件
  • 找到composer.json文件打开,在里面autoload 下classmap下面加入类库路径.
  • 运行命令:composer dump-autoload --optimize 优化一下自动加载
    public function getshipping(Request $request){
$req = new \LogisticsOfflineSendRequest(); //调用了淘宝sdk
return response('Hello World', 200)
->header('Content-Type', 'json');
}
2. 引入全局函数
  • 在app下建一个Common文件夹 在Common下建一个function.php放入公共函数
  • function.php文件中自定义test()函数
  • 在项目目录下composer.json中加入
"autoload": {
"files":[
"app/Common/function.php"
]
}
  • 运行命令:composer dump-autoload --optimize 优化一下自动加载
  • 然后就可以全局调用

最新文章

  1. Hibernate一对一、一对多、多对多注解映射配置
  2. 未能解析目标框架“.NETFramework,Version=v4.0”的 mscorlib的解决方法
  3. ecshop数据表说明
  4. 菜鸟学Linux命令:端口查看和操作命令
  5. Android IOS WebRTC 音视频开发总结(七三)-- 我为什么走上了创业这条不归路?
  6. [2015hdu多校联赛补题]hdu5299 Circles Game
  7. .net framework环境
  8. phpcmsv9如何实现添加栏目时不在首页内容区显示只在导航栏显示
  9. [ActionScript 3.0] AS3.0根据当天日期获取明天,后天...日期
  10. 惊叹jQuery(解决jQuery对象到DOM的转换)
  11. IIS 之 打开/关闭 Internet 信息服务
  12. bzoj 1925 [Sdoi2010]地精部落(DP)
  13. C#微信开发之旅--自定义菜单
  14. linux上传下载软件
  15. WPF常用转换
  16. 快速构建Windows 8风格应用7-页面视图概览
  17. systemd学习
  18. html tip实现
  19. Spring MVC 学习总结(一)——MVC概要与环境配置 转载自【张果】博客
  20. Zookeeper笔记二-各种一致性协议解释

热门文章

  1. Docker zookeeper 集群 for Docker desktop (win)
  2. RNN,LSTM
  3. 第二阶段:4.商业需求文档MRD:1.PRD-产品功能列表
  4. react-native-vector-icons 安装、使用
  5. POJ-1741 树上分治--点分治(算法太奇妙了)
  6. ORM之炀,打造自已独特的开发框架CRL
  7. 根据设备id自动打开本设备的串口
  8. 洛谷$P1935$ [国家集训队]圈地计划 网络流
  9. Linux常用命令大全(四)
  10. Linux常用命令大全(二)