Composer简介及使用实例

1.PHP-FIG

官网:http://www.php-fig.org/

php编码规范:

本文档是PHP互操作性框架制定小组(PHP-FIG :PHP Framework Interoperability Group)制定的PHP编码规范(PSR:Proposing a Standards Recommendation)。

https://www.gitbook.com/book/jifei/php-fig-standards/details

https://jifei.gitbooks.io/php-fig-standards/content/

 

 

2.Composer

(1)说明(ComposerPackagist

Composerphp用来管理项目依赖的工具

依赖关系:指项目中需要使用的外部工具库或叫组件(ps:组件是一组打包的代码,是一系列相关的类或接口,用于帮组我们解决php应用中的某个具体问题)

官方网址:https://getcomposer.org     安装下载composer

中文网站:http://www.phpcomposer.com   学习,切换镜像

官方文档:http://docs.phpcomposer.com/

Packagist: composer的组件仓库

仓库地址:http://packagist.org/

 (2)下载

https://getcomposer.org/download/

 

(2)安装前提条件

² php版本5.3.2以上

² 开启openssl扩展

² 安装composer需要明确php.exe的文件路径:将php.exe路径加入到环境变量

² 检查是否可用:php composer.phar

 

(3)使用Composer铺垫

情景:虚拟主机下class目录,目录下有两个文件class1.phpclass2.php,在虚拟主机下新建test.php,实例化这两个类并打印

 

(4)Composer初体验(autoload类的自动加载)

① 新建composer.json文件

在项目根目录新建composer.json文件,主要用于声明组建依赖关系,类的自动加载

来协助composer管理。

② 配置composer.json文件

 

{
    "autoload":{
         "psr-4":{"":"目录/"}
    }
}

 

1、当键名是autoload时则会自动加载

2、当键是require时则会下载或更新对应组件

3composer.json文件必须都是双引号

 

{
    "autoload":{
         "psr-4" :{"":"class/"}
    }
}

 

③ 建立关系

通过composer指定指令/命令安装依赖关系所需组件,并初始化自动加载信息。

 

php composer.phar install

 

 

切换国内镜像加快下载速度

 

php composer.phar config repo.packagist composer https://packagist.phpcomposer.com

 

  

{
    "autoload":{
         "psr-4" :{"":"class/"}
    },
    "repositories": {
        "packagist": {
            "type": "composer",
            "url": "https://packagist.phpcomposer.com"
        }
    }
}

 

  

执行速速变快了

④ 自动加载

对于库的自动加载信息,composer会生成一个autoload.php的文件,只需要简单引入这个文件就会得到自动加载支持

 

//引入autoload.php文件
require './vendor/autoload.php';

 

 

 

⑤ 代码

 

(5)PSR-4规范实现自动加载

 

composer初体验的基础上新建T1目录,新建class3.php

 

 报错:

 

解决:引入命名空间

 

3.项目依赖管理require

(1)新建composer.json文件

填入require配置项:(库的完整名称+版本号)

(2)配置composer.json文件

 

{
    "require":{
        "库的完整名称" :"版本号",
        "库的完整名称" :"版本号",
    }
}

 

多个require”,”号隔开

查找composer仓库已存在的组件,输入网址:https://packagist.org

 

点击进去

 (3)下载组件

 

1、下载资源需要FQ或切换国内镜像否则非常慢

2、下载的组件位于vendor目录下

3、使用下载资源需要引入autoload.php文件,然后直接使用命名空间调用类的信息

(4)使用组件

 

 (5)php Composer库的意义

提供项目组件依赖管理并提供下载和共享外部组件 还提供了类的自动加载

4.Composer创建自己的包

(1)本地化实现组件功能

 

{
      "name": "phptestsoft22/json22",
      "description": "PHP library to encode and decode JSON",
      "license": "MIT",
      "authors": [ {
             "name": "邹柯",
             "email": "1429359083@qq.com"
      }],
      "mininum-stability": "stable",
      "require": {
             "php": ">=5.3.0"
      },
      "autoload": {
             "psr-4": {"phptestsoft22\\": "src/"}
      },
      "repositories": {
            "packagist": {
                   "type": "composer",
                   "url": "https://packagist.phpcomposer.com"
            }
      }
}

 

  

 (2)上传github

 

只打包src  README  composer.json3个文件

test.php文件内容复制到README

GitHub账号:

邮箱:***********

密码:***********

 

(3)提交composer仓库packagis

 

检出完成后再点击提交

使用Composer组件版本必须是1.0以上(默认提交到github上是没有版本的)

github上添加版本号

 

 

 注:本文是参考网上视频 PHP春天-Composer依赖管理工具  

 

转载于:https://www.cnblogs.com/zouke1220/p/7268177.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值