博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
开发 composer 包,上传 packagist并实时更新+发布稳定版
阅读量:7298 次
发布时间:2019-06-30

本文共 2213 字,大约阅读时间需要 7 分钟。

这段时间比较忙,一直没时间写点东西,今天抽空随便写写。

背景:在新公司发现一个现象,很多已经工作六七年的老程序员竟然不会用 git,也不会在网上搜索,而对于 使用 composer 开发包也就更不了解了,现在我就做个入门总结。

不说废话,直奔主题  ——  鲁迅 ^_^参考文档:https://laravel-china.org/docs/composer/2018协议:http://www.ruanyifeng.com/blog/2011/05/how_to_choose_free_software_licenses.html

步骤:

  1. 创建项目目录
    mkdir composer-test
    cd comopser-test
  2. 初始化
    composer init
    提示进行配置 packagist 信息:
    输入项目命名空间 name:其实就是 packagist 名称,建议 github 用户名/项目名称,leesin/composer-test
    项目描述 Description: 项目描述,会现在是 packagist 项目介绍中
    作者信息 Author: Leesin <leesin_code@163.com>
    输入最低稳定版本:stable, RC, beta, alpha, dev
    输入项目类型:library, project, metapackage, composer-plugin
    输入授权类型:开源软件 一般选择 MIT
    输入依赖信息:yes->搜索包名 (可以是 php 等)->输入版本
    = >= <= 之类的
    是否需要require-dev:同上
    进行生成:yes, 生成 composr.json
  3. 上传 github
    git init && echo 'hello world' >> README.md
    git add . && git commit -m'init'
    git remote add origin 仓库地址
    git push origin -u 仓库地址
  4. 提交 packagist
    将github 上的包提交到 packagist 注册
    submit->输入仓库地址->check->通过检测就提交到 packagist 了
    如果提示已经存在,可修改包名或者直接提交
  5. 设置 composer 包自动更新
    默认情况下,github代码更新,composer 包是不自动更新的
    方案: 使用 github 服务钩子
    setting->Integrations & services ->Add service 搜索 packagist->填写资料:
    user: packagist 的用户名
    token:packagist.org 中 Profile show API Token 查看
    domain:
    edit -> test service ,[Okay, the test payload is on its way. ] 就可以自动更新了
  6. 使用

    通过 packagist 拉取github 代码
    composer create-project packagist名 project名 --prefer-dist dev-master [ 指定版本 ]

    引用其他包composer require package_name实现自动加载:        include vendor/autoload.php或者        修改 composer.json, 增加 autoload 配置项,files 表示要自动加载的文件,psr-4 表示要自动加载的 命名空间        classmap 一般用来对某些开发类自动加载,psr-4则是项目代码的自动加载,psr-0基本由psr-4替代,files模式主要针对全局helper之类的function载入,配置完成后执行composer dump-autoload即可        "autoload":{                "files":[                    "src/functions.php",                    "",                    ...                ],            "psr-4":{                "Leesin\\" : "src", // 前边命名空间,后边为目录            }        }        composer dump / dump-autoload 按照配置文件,重新加载配置
  7. 补充:常用包结构

    .
    ├── composer.json
    ├── README.md
    └── src // 源码目录
    └── Hello.php

    mkdir src && touch src/Hello.php                     
  8. git tag 发布稳定版本 composer 包
    git tag -a v0.1 -m 'version 0.1'
    git push origin --tags
    在 packagist 中刷新即可看到

转载于:https://blog.51cto.com/12750968/2164560

你可能感兴趣的文章
XAML实例教程系列 - 资源(Resources)
查看>>
LWIP互联网资料汇总
查看>>
外贸术语
查看>>
网络传输流量控制策略小结
查看>>
上传大文件
查看>>
Mybatis面试集合(转)
查看>>
分布式系统的完整介绍(一)
查看>>
考点1
查看>>
Asp.net 程序连接orcle如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,...
查看>>
自己写的模板引擎,模板生成静态页面
查看>>
Android 数据库管理— — —更新数据
查看>>
014_捆绑包与显示模式
查看>>
python : logging模块format类
查看>>
[LeetCode] Two Sum
查看>>
java类中的初始化顺序
查看>>
win10远程桌面连接
查看>>
[转]Web Service与WCF区别
查看>>
vs2010 .net4.0 错误 事件的显式接口实现必须使用事件访问器语法
查看>>
BZOJ1090:[SCOI2003]字符串折叠——题解
查看>>
Python网络爬虫-爬取微博热搜
查看>>