美文网首页
PHP创建自己的composer

PHP创建自己的composer

作者: wyc0859 | 来源:发表于2020-07-29 09:02 被阅读0次

    composer是如何安装的:

    1、composer命令安装项目包A,下载A到本地
    2、自动执行A中composer.json,发现里面的require:{B} 并下载B

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

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

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

    本地用composer init 和composer install

    远程需要注册https://packagist.org/

    下面介绍远程的方式

    composer远程

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

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

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

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

    将下面的信息填写完整

    image.png

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

    类库包

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

    结构****如下:

    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/"
            }
        }
    }
    
    image.png

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

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

    点击https://packagist.org/上的Submit

    image.png

    从git 上找到地址并复制

    image.png

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

    image.png

    项目包

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

    结构****如下:

    QQ截图20200728164131.png

    conposer.json如下:

    QQ截图20200728162842.png

    如何下载?

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

    image.png 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版本时,安装需要****加上指定版本号

    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
    

    相关文章

      网友评论

          本文标题:PHP创建自己的composer

          本文链接:https://www.haomeiwen.com/subject/awncrktx.html