一键安装php composer,PHP创建自己的composer

本文详细介绍了如何使用Composer安装和管理PHP项目依赖,以及如何将自己的项目打包成Composer包并在Packagist上发布。首先,创建GitHub项目,配置composer.json,然后发布到Packagist。在项目中通过composer.json引入发布的包,并设置镜像源以解决下载问题。文章还讲解了版本管理和命名空间的使用,以及如何通过Git tags设置包的版本。
摘要由CSDN通过智能技术生成

composer是如何安装的:

1、composer命令安装项目包A,下载A到本地

2、自动执行A中composer.json,发现里面的require:{B} 并下载B

3、如果B的composer.json中require还有值,则继续下载

怎么让自己的项目,用composer一键安装:

composer和git类似,可以本地安装和远程安装

本地用composer init 和composer install

下面介绍远程的方式

composer远程

本文介绍项目****分成2个包,项目包A,类库包B

A是TP框架,B是自己封装的类

在发布项目之前需要在https://github.com/上与https://packagist.org/上分别申请一个账号,github主要存储我们开发好的项目资源,packagist上发布的为composer项目。

申请好账号后,先在github上建立一个项目:

将下面的信息填写完整

1dc19b98b475

image.png

同时创建好两个这样的项目,一个存放项目A,一个存储类库B。

类库包

需要注意的是autoload,psr-4里面有个 "ruhua\": "src/",这里的意思是插件的命名空间需要前面有个ruhua,并且路径在src文件夹中,才能进行访问:

结构****如下:

1dc19b98b475

QQ截图20200728164146.png

conposer.json如下:

{

"name": "qy/ruhua-engine",

"description": "ruhua-engine",

"type": "library",

"license": "MIT",

"authors": [

{

"name": "xxf",

"email": "2421912566@qq.com"

}

],

"minimum-stability": "dev",

"require": {},

"autoload": {

"psr-4": {

"ruhua\\": "src/"

}

}

}

1dc19b98b475

image.png

在src的所有文件在namespace的前面需要加上ruhua,插件下载后,我们便可以在控制器中调用。

下一步将开发好的插件上传到git上,从cms进入插件目录

1dc19b98b475

image.png

从git 上找到地址并复制

1dc19b98b475

image.png

将地址放在输入框里面,并点击确认,检测完没问题后再点击以下,插件就发布完毕。

1dc19b98b475

image.png

项目包

将插件需要的配置文件配置好,并在composer.json加入刚发布插件的名称和版本号,再按照以上步骤上传到另一个项目中,等待几分钟后下载即可。

结构****如下:

1dc19b98b475

QQ截图20200728164131.png

conposer.json如下:

1dc19b98b475

QQ截图20200728162842.png

如何下载?

首页有个搜索框,我们搜索以及上传的composer项目:

1dc19b98b475

image.png

1dc19b98b475

image.png

点击项目进入会有一个下载的命令,复制后再终端下载即可。

composer create-project qy/ruhua

composer 设置镜像地址

当我们在发布包后,如果获取不到报错怎么办,有可能是镜像的问题

//查看全局设置

composer config -gl

//第一种:设置国内镜像

composer config -g repo.packagist composer https://packagist.phpcomposer.com

//第二种:设置国内镜像

composer config -g repo.packagist composer https://packagist.laravel-china.org

//第三种:设置国内镜像

composer config -g repos.packagist composer https://php.cnpkg.org

报错 InvalidArgumentException

Could not find package ruhua/api with stability stable

当你右侧只有dev-master版本时,安装需要****加上指定版本号

1dc19b98b475

QQ截图20200902111131.png

composer create-project ruhua/api:dev-master

如何添加 packagist 库的版本

其实对应的是git tags的版本

git commit -m'xxx'

git tag v1.0

git push origin v1.0

更新packagist 库,此时右侧就有1.0版本了,在执行即可安装(如果失败等几分钟)

composer create-project ruhua/api

composer.json中的~与^区别

~表示版本号只能改变最末尾那段(如果是 ~x.y 末尾就是 y,如果是 ~x.y.z 末尾就是 z)

~1.2.3 代表 1.2.3 <= 版本号 < 1.3.0

~1.2 代表 1.2 <= 版本号 <2.0

^表示除了大版本号以外,小版本号和补丁版本号都可以变

^1.2.3 代表 1.2.3 <= 版本号 < 2.0.0

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值