编写自己的composer项目

编写自己的composer项目

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

一. 创建github项目

可以参考我的项目地址 https://github.com/yin32167/cpstpl

config 配置文件存放的位置
src 源代码
tests 测试文件位置

.gitignore git忽略文件
LICENSE.md 项目许可证
README.md 项目介绍
composer.json composer配置文件
phpunit.xml phpunit配置文件

1. 关于.gitignore配置

执行composer install会生成composer.lock文件, 并将相关的依赖下载到vendor文件夹, 所以这两个文件是需要忽略的

2. 关于LICENSE.md内容

这个看大家项目的具体目的, 对于开源项目来讲, 用MIT协议比较常见

3. 关于README.md内容

主要是介绍项目基础信息及用法, 项目的github页面会将内容显示出来, 以markdown格式

二. 配置 composer

  1. 安装composermac用户可以使用homebrewwindows用户可以直接下载安装包安装

https://pkg.phpcomposer.com/#how-to-install-composer

注意确保composer命令在环境变量中

  1. 配置中国镜像: 由于国外镜像速度太慢, 影响开发效率
  1. 编辑配置文件

require: 由于composerphp的包管理工具, 所以需要依赖php环境, 这里我们建议使用php7以上版本, 毕竟各方面都有很大的提升
require-dev: 一般加载测试相关的包
autoload: 指定自动加载的文件夹, 现在一般采用psr-4标准

会生成composer.lockvendor文件夹. 如果修改了composer.json, 但之前已经生成了composer.lock, 此时需要执行composer update, 配置才能生效

三. 添加 phpunit

  1. 安装

Windows 用户具体参见 http://www.phpunit.cn/manual/current/zh_cn/installation.html#installation.phar.windows
一定要确保phpunit在环境变量中

  1. 编辑配置文件phpunit.xml

bootstrap指定启动测试时, 先加载vendor/autoload.php
testsuite指定测试文件的目录
filter过滤依赖文件的位置

  1. 执行测试样例

四. 上传到 packagist

  1. 先注册, 需要关联github

https://packagist.org

  1. 创建composer模块名称, 尽量和github一致就好

  2. 检测提交

如果你没按照它的规范, 会提示失败, 并给出原因, 只需按照修改即可.

附:

如果github中存在多个branch, 则在生成composer模块的时候会打包对应dev-分支名版本号, 如果不希望出现dev, 也就是看起来是正式版本, 需要在githubtag, 此时会以tag的名称作为版本号而不会加上dev

原文地址:https://www.cnblogs.com/php-linux/p/10544924.html

时间: 2024-08-30 12:38:32

编写自己的composer项目的相关文章

windows下用idea编写wordcount单词计数项目并打jar包上传到hadoop执行

windows下用idea编写wordcount单词计数项目并打jar包上传到hadoop执行 参考 https://blog.csdn.net/weixin_42370346/article/details/88688693 1.最后一步运行jar包时报错 原因:未指出主类名 解决方法:hadoop jar /home/wxx/WordCount.jar com.hadoop.project.WordcountMain /user/hadoop/input/file.txt /user/had

Composer项目安装依赖包

说明:一般用Composer的项目中,目录下都有一个composer.json文件,安装这些依赖,只需要输入命令即可 步骤: cmd进入项目目录,运行命令即可 composer install 文章参考: https://getcomposer.org/doc/articles/troubleshooting.md#xdebug-impact-on-composer http://blog.csdn.net/panpan639944806/article/details/16808261

C语言编写—通讯录(小项目)

C语言的练习-通讯录,该通讯录主要实现最大存储1000个人信息,对通讯录中的个人信息能够进行增.删.查.改等基本功能,通过用c语言编写,能够极大程度上锻炼编程能力.程序主要使用数组的知识,创建1000大小的静态数组,在极端情况下,通讯录中元素较少,对空间的使用率较低,使得空间浪费.该程序能够再次进行改进,可以通过动态开辟数组,减少空间的浪费,也可以通过链表来实现. --下面程序主要是利用静态数组的方式,该程序有待改进. #define _CRT_SECURE_NO_WARNINGS 1 #inc

编写一个飞行棋项目(C#)遇到几个问题:

在写程序中遇到如下问题:如果有人知道,请您一定要指点迷津.小白. 1.在运行暂停功能时,这个暂停功能可以实现,但是无法显示提示信息. case 3: Console.Clear(); Program.drawmap(); isstop[0] = true; msg = string.Format("{0}走到了地雷,暂停一次!", name[0]); break; 2.下面这行代码没有效果:(我换了一下console.clear()的位置不行,但去掉可以实现,但是也没有清屏了.) Co

JAVA基础开发实例,适合初学者编写的第一个项目(加分项目)

package test; import java.util.Scanner; /*功能:输入一个数,并显示这个数,不足60的,进入循环,每次循环加3分,并定义一个变量记录加了几次 * * @author HYF * */ public class JiaFen { public static void main(String[] args) { Scanner input=new Scanner(System.in);//创建Scanner System.out.print("请输入成绩:&q

20150124--初始化类文件编写

和涛哥学习MVC一 目录 和涛哥学习MVC一... 1 一.项目开发流程... 2 二.MVC原理解析... 2 1.简介... 2 2.名词解析... 2 3.单一入口访问原理... 3 4.MVC单一入口原理图... 3 5.mvc项目文件结构... 3 三.编写MVC框架... 4 1.编写index.php入口文件... 4 2.编写Application.class.php初始化类文件... 4 1)初始化字符集... 4 2)初始化系统常量... 5 3)初始化错误信息... 5 4

java程序员面试----交流项目经验(摘自百度)

1:请你介绍一下你自己这是面试官常问的问题. 2:说说你的家庭面试时询问家庭问题不是非要知道求职者家庭情况,探究隐私,而是要了解家庭背景对求职者的塑造和影响.面试官希望听到的重点也在于家庭对求职者的积极影响. 3:说说你的最大优缺点这个问题的概率很大,面试官喜欢求职者从自己的优点说起,中间加一些小缺点,最后再把问题转回到优点上,突出优点的部分. 4:就你申请的这个职位,你认为你还缺什么?面试官喜欢问求职者的弱点,但精明的求职者一般不直接回答.他们希望看到这样的求职者:继续重复自己的优势,然后说:

satis 搭建 Composer 私有库的方法

安装 satis 命令行下执行: php create-project composer/satis --stability=dev --keep-vcs . 配置 创建 satis.json 文件,如官方示例: {"name": "My Repository","homepage": "http://packages.example.org","repositories": [{ "type&q

maven项目,在spring中整合mybatis

一.pom.xml配置,导入所需jar包 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd&quo