编写自己的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服务器一样,什么都可以访问,和之 ...
随机推荐
- 在win7下python的xlrd和xlwt的安装于应用
1. http://pypi.python.org/pypi/xlwt 和http://pypi.python.org/pypi/xlrd下载xlwt-0.7.4.tar.gz和xlrd-0.7.7. ...
- (转)Spring Boot 2 (八):Spring Boot 集成 Memcached
http://www.ityouknow.com/springboot/2018/09/01/spring-boot-memcached.html Memcached 介绍 Memcached 是一个 ...
- Scrapy 框架 增量式
增量式: 用来检测网站中数据的更新情况 from scrapy.linkextractors import LinkExtractor from scrapy.spiders import Crawl ...
- [tool] AI视频翻译 解决英文视频字幕问题(类似youtube自动生成字幕)
1.网易见外是网易人工智能事业部旗下的AI视频翻译产品. 字幕支持手工编辑和下载 不过网易见外 只支持WEB在线操作 并且只支持单个上传操作 目前没有客户端 2.人人译视界 (IOS 安卓 PC客户端 ...
- 获取列表的索引操作:enumerate
通过循环获取列表的索引操作: 主要使用:enumerate product_list = [['Iphone7',5800], ['Coffee',30], ['疙瘩汤',10], ['Python ...
- P1396 营救(并查集+二分)
思路:检验函数中,先初始化每个节点的下标,每调用检验函数就从新使用一次并查集(并查集的时间复杂度非常低),然后,就看当一条路的价值val<=假设最大值x时,就把他们连接起来. #include& ...
- sklearn 模型选择和评估
一.模型验证方法如下: 通过交叉验证得分:model_sleection.cross_val_score(estimator,X) 对每个输入数据点产生交叉验证估计:model_selection.c ...
- Storm-HA 配置
进入storm/conf目录,修改storm.yaml配置文件为如下内容: # zookeeper ip storm.zookeeper.servers: - "192.168.7.108& ...
- kafka环境搭建和使用(python API)
引言 上一篇文章了解了kafka的重要组件zookeeper,用来保存broker.consumer等相关信息,做到平滑扩展.这篇文章就实际操作部署下kafka,用几个简单的例子加深对kafka的理解 ...
- (通用版)salesforce中soql及sosl的伪‘Like’模糊检索
salesforce里有soql.sosl两种查询语法,soql针对模糊搜索也有‘like’关键字,然而只能针对其自带字段如:Name.Id:对于自定义添加的字段如:Message__c.Note__ ...