编写自己的composer项目
编写自己的composer项目
composer的出现给php开发带来极大的便利, 配合phpunit的测试工具, 也可以更好的规范php开发. 尽管这些标准不是官方提供的, 但现在大部分的php框架几乎都按照这个规范去开发和管理项目. 这里先介绍一下怎么去编写自己的composer项目
一. 创建github项目
可以参考我的项目地址 https://github.com/yin32167/cpstpl

config配置文件存放的位置src源代码tests测试文件位置
.gitignoregit忽略文件LICENSE.md项目许可证README.md项目介绍composer.jsoncomposer配置文件phpunit.xmlphpunit配置文件
1. 关于.gitignore配置
执行
composer install会生成composer.lock文件, 并将相关的依赖下载到vendor文件夹, 所以这两个文件是需要忽略的
2. 关于LICENSE.md内容
这个看大家项目的具体目的, 对于开源项目来讲, 用MIT协议比较常见
3. 关于README.md内容
主要是介绍项目基础信息及用法, 项目的github页面会将内容显示出来, 以markdown格式
二. 配置 composer
- 安装
composer:mac用户可以使用homebrew,windows用户可以直接下载安装包安装
https://pkg.phpcomposer.com/#how-to-install-composer
注意确保
composer命令在环境变量中
- 配置中国镜像: 由于国外镜像速度太慢, 影响开发效率
- 编辑配置文件
require: 由于composer是php的包管理工具, 所以需要依赖php环境, 这里我们建议使用php7以上版本, 毕竟各方面都有很大的提升require-dev: 一般加载测试相关的包autoload: 指定自动加载的文件夹, 现在一般采用psr-4标准

会生成
composer.lock及vendor文件夹. 如果修改了composer.json, 但之前已经生成了composer.lock, 此时需要执行composer update, 配置才能生效
三. 添加 phpunit
- 安装
Windows 用户具体参见 http://www.phpunit.cn/manual/current/zh_cn/installation.html#installation.phar.windows
一定要确保phpunit在环境变量中
- 编辑配置文件
phpunit.xml
bootstrap指定启动测试时, 先加载vendor/autoload.phptestsuite指定测试文件的目录filter过滤依赖文件的位置
- 执行测试样例

四. 上传到 packagist
- 先注册, 需要关联
github
创建
composer模块名称, 尽量和github一致就好
检测提交

如果你没按照它的规范, 会提示失败, 并给出原因, 只需按照修改即可.
附:
如果github中存在多个branch, 则在生成composer模块的时候会打包对应dev-分支名版本号, 如果不希望出现dev, 也就是看起来是正式版本, 需要在github打tag, 此时会以tag的名称作为版本号而不会加上dev
编写自己的composer项目的更多相关文章
- 用Spring3编写第一个HelloWorld项目
第一个HelloWorld程序 让我们用Spring来写第一个应用程序吧. 完成这一章要求: 熟悉Java语言 设置好Spring的环境 熟悉简单的Eclipse IDE的操作 如果你还没有设置好环境 ...
- PHPUnit 在phpstrom中composer项目的应用配置
在phpstorm的composer搭建的项目调试时出现这种错误时:是其配置的错误 'Cannot create phar '/data/AppStorm/DesignPatternsPHP/vend ...
- 【微信小程序】使用vscode编写微信小程序项目
1. 在微信开发者工具(以下简称:开发者)中新建一个模板微信小程序 2. 在开发者中将模拟器分隔开 3. 设置在保存时编译 4. 在vscode中打开项目目录 5. 下载代码提示插件 这样就可以在vs ...
- Composer项目安装依赖包
说明:一般用Composer的项目中,目录下都有一个composer.json文件,安装这些依赖,只需要输入命令即可 步骤: cmd进入项目目录,运行命令即可 composer install 文章参 ...
- Vue.js结合vue-router和webpack编写单页路由项目
一.前提 1. 安装了node.js. 2. 安装了npm. 3. 检查是否安装成功: 打开cmd,输入node,没有报“node不是内部或外部命令”表示安装成功node.js. 打开cmd,输入np ...
- 编写自己的starter项目(battcn-starter-swagger)
自定义 starter 项目,方便其他地方调用,类似 spring.datasource.url 这种,本次以自己封装的 battcn-starter-swagger 为案例 创建一个Maven工程 ...
- 编写一个飞行棋项目(C#)遇到几个问题:
在写程序中遇到如下问题:如果有人知道,请您一定要指点迷津.小白. 1.在运行暂停功能时,这个暂停功能可以实现,但是无法显示提示信息. case 3: Console.Clear(); Program. ...
- Flutter实战视频-移动电商-02.Flutter实战建立项目和编写入口文件
02.Flutter实战建立项目和编写入口文件 创建项目: flutter create flutter_shop 创建完成之后呢,它会提示我们, 进入flutter_shop的目录,然后执行flut ...
- 手工编写JavaWeb项目
手工编写JavaWeb项目 一.打开Tomcat服务器 二.编写简单的web项目 三.访问项目 并且,tomcat服务器也是可以直接访问.txt的,其实就和其它的web服务器一样,什么都可以访问,和之 ...
随机推荐
- 《Java大学教程》—第5章 数组
5.6 增强的for循环:访问整个数组,读取数组元素,不基于数据下列5.7 数组方法:最大值.求和.成员访问.查找 1.答:P92存储固定个数相同数据类型的一组元素. 2.答:P92所有存储在一个特定 ...
- Maven中POM.XML详解
转自https://blog.csdn.net/jariwsz/article/details/19554137 我们先看一个简单的例子: <project xmlns="http:/ ...
- [docker][win10]安装的坑
右键这个小图标,先signin,注意这里是ID 不是邮箱 image.png 可能starting 时候就报错说 “Containers feature is not enabled” 或者 ...
- 寒假特训——I - Fair
Some company is going to hold a fair in Byteland. There are nn towns in Byteland and mm two-way road ...
- Android面试题目整理与解说(二)
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/bz419927089/article/details/31386787 1.Dalvik和标准Jav ...
- Ubuntu16.04环境安装jenkins
前提:系统必须安装jdk 如果没有安装可通过如下命令安装: sudo add-apt-repository ppa:openjdk-r/ppa sudo apt update sudo apt ins ...
- CentOS下安装PHP
今天終於進行了第三次的在linux下的php安裝,在安裝之前我進行了網站訪問測試. 第一步,先查看mysql.apache這兩項系統服務是否已經自動啟動了,chkconfig –list mysql. ...
- Django适合做大用户量的系统吗?
分几点来答: 1. 首先,这其实是个技术选型题. 做技术选型的时候不能单纯的考虑性能,应该优先考虑业务类型,以及团队水平.另外的话,框架只是其中一环,还有配套呢. 如果是数据驱动型,尤其是要用到关系型 ...
- C# 生成编号(防并发)
今天抽了点时间,写了一个通用的生成编号的程序! 我的生成规则为年月日+两位编号,即:yyyyMMdd+两位编号,譬如:2018101001 / 2018101002 / 2018101003 首先,一 ...
- AndroidO bluedroid alarm 机制分析
bluedroid的alarm 机制实现在osi/osi/src/alarm.cc 中: 这里面实现了很多的接口: alarm_t* alarm_new(const char* name): alar ...