如何创建自己的一个composer包,这个其实很好解决的!只要你了解composer相关的知识便不难做到。

首先,你还不知道什么是composer的话,请先学习下composer的相关知识。简单的说,composer就是一个包的依赖安装管理,类似前端的npm!你可以根据composer来有选择的安装第三方代码进行开放工作。在安装的过程中,如果访问国外官网的网速慢,可以选择国内的镜像配置

其次来创建包:

1 新建文件夹hello,在文件夹下建一个src文件夹,在该src文件夹下,建立一个文件-EchoHello.php.



2 在文件中写入代码:

<?php
/**
* Created by PhpStorm.
* Filename: EchoHello.php
* User: cmder
* Date: 2018/3/25
* Time: 22:49
*/
namespace Hello; class EchoHello
{
public static function say()
{
echo 'hello';
}
}

3 开始使用composer

这个时候,要在项目的根目录里创建一个composer.json的文件(用来保存创建包的相关信息),我们可以手动创建,也可以在根目录里通过composer init命令来根据提示创建:



这样在根目录下就生成了composer.json文件:

{
"name": "cmder/hello",
"description": "echo hello",
"license": "MIT",
"authors": [
{
"name": "cmderQ",
"email": "XXXX3@qq.com"
}
],
"require": {}
}

4 我们可以编辑json文件,在其中添加我们需要使用的第三方插件(工具)。例如添加php的版本要求和自动加载(使用PSR-4),使用hello命名空间,加载src目录下的所有文件,如下

{
"name": "cmder/hello",
"description": "echo hello",
"license": "MIT",
"authors": [
{
"name": "cmderQ",
"email": "XXXX3@qq.com"
}
],
"require": {
"php": ">=5.4.0"
},
"autoload": {
"psr-4": {
"Hello\\": "src/"
}
}
}

添加完成后,利用composer install命令来执行安装操作:



如上图,显示安装成功!打开文件目录,显示如下:



5 测试

创建测试文件test.php,代码如下:

<?php
/**
* Created by PhpStorm.
* Filename: test.php
* User: cmder
* Date: 2018/3/25
* Time: 23:06
*/
require_once __DIR__ . '/vendor/autoload.php';
use Hello\EchoHello; echo EchoHello::say();

在dos下执行php test.php, 输出“hello”,说明一个包就创建成功了!



做到这一步之后,下面将讲解composer包跟Packagist之间的关联!即如何将composer包发布到Packagist.org上!

创建你的一个composer包的更多相关文章

  1. 动手开发自己的第一个 composer 包

    原文:http://blog.jayxhj.com/2016/05/basic-composer-package-development/ composer 是 PHP 的依赖管理工具,本篇文章就来说 ...

  2. composer包(发布到github上)同步到Packagist

    在上一篇文章里面,探讨了如何一步步建立composer包–创建你的一个composer包 创建完成后,我们需要做的就是讲自建的包发布到Packagist上.至于说什么是Packagist,这个就不用我 ...

  3. 创建你的第一个Composer/Packagist包

    今天我们要介绍一下如何通过Composer和Packagist向PHP社区贡献代码包.首先,如果你是一个PHP开发者但是还不知道什么是Composer,请先参考了一下这篇文章http://docs.p ...

  4. 开发一个属于自己的第一个Composer/Packagist包

    Composer 给我们带来了诸多的好处: 模块化,降低代码重用成本 统一的第三方代码组织方式 更科学的版本更新 初始化项目,生成composer.json文件 初始实例项目代码目录结构: 现在要在项 ...

  5. 从零创建发布属于自己的composer包

    原文地址:https://www.wjcms.net/archives/从零创建发布属于自己的composer包 今天给大家讲解一下如何从零创建发布属于自己的composer包. composer包用 ...

  6. 如何在本地开发Composer包

    如何在本地开发Compoer包 周煦辰 2019-05-26 记录一下如何在本地开发一个Composer包,以及如何发布到Packgist. 假设你要开发一个名叫xuchen/biubiubiu的包. ...

  7. 【Composer】实战操作二:自己创建composer包并提交

    大纲 创建自己的composer库 提交到指定平台 测试安装自己的库 设置composer平台自动更新 如何方便测试自己开发的库 开始动手 创建自己的composer库 个人博客后台有一部分是关于统计 ...

  8. 如何创建自己的composer包

    composer中文网 :https://www.phpcomposer.com/ 一.前期准备: composer 安装 Windows安装: 1.下载安装包,https://getcomposer ...

  9. 创建一个ROS包

    先前笔者不知道catkin到底是个什么东东,后来终于在官方网站上找到了答案,原来catkin是ROS的一个官方的编译构建系统,是原本的ROS的编译构建系统rosbuild的后继者.catkin的来源有 ...

随机推荐

  1. 由浅入深的讲述Get和Post的区别

    对于网上对get和post区别的长篇大论,我只想说一些干货其中最重要的是:GET和POST本质上两者没有任何区别.他们都是HTTP协议中的请求方法.底层实现都是基于TCP/IP协议.所谓区别,只是浏览 ...

  2. 【译】如何高效的使用 Git

    原文链接 代码昨天还是运行好好的今天就不行了. 代码被删了. 突然出现了一个奇怪的 bug,但是没人知道怎么回事. 如果你出现过上面的任何一种情况,那本篇文章就是为你准备的. 除了知道 git add ...

  3. BitmapToASCii

    using System; using System.Collections.Generic; using System.Drawing; using System.Linq; using Syste ...

  4. 使用ML.NET实现白葡萄酒品质预测

    导读:ML.NET系列文章 本文将基于ML.NET v0.2预览版,介绍机器学习中的分类和回归两个重要概念,并实现白葡萄酒品质预测. 本系列前面的文章也提到了一些,经典的机器学习最主要的特点就是模拟, ...

  5. redis 系列18 事件

    一.概述 Redis服务器是一个事件驱动程序,服务器需要处理两类事件:1文件事件,2时间事件.文件事件是关于客户端与服务器之间的通信操作.时间事件是关于服务器内部的一些定时操作.本篇还是参照" ...

  6. Linux服务器时间相关命令记录

    前言 以往安装服务器时间都是正常,但是最近服务器的时间经常出现问题,所以在安装配置完成服务器之后需要对服务器的时间进行测试,如果服务器时间异常,那么当程序去取系统时间的时候就会出现问题. 时间相关命令 ...

  7. SRS-开源流媒体服务器

    SRS 简介 SRS定位是运营级的互联网直播服务器集群,追求更好的概念完整性和最简单实现的代码.SRS提供了丰富的接入方案将RTMP流接入SRS, 包括推送RTMP到SRS.推送RTSP/UDP/FL ...

  8. 【Java基础】【03运算符&if语句】

    03.01_Java语言基础(逻辑运算符的基本用法)(掌握) A:逻辑运算符有哪些 &,|,^,! &&,|| B:案例演示 逻辑运算符的基本用法 注意事项: a:逻辑运算符一 ...

  9. 痞子衡嵌入式:飞思卡尔Kinetis系列MCU启动那些事(3)- KBOOT配置(FOPT/BOOT Pin/BCA)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔Kinetis系列MCU的KBOOT配置. KBOOT是支持配置功能的,配置功能可分为两方面:一.芯片系统的启动配置:二.KBO ...

  10. angularjs1.X进阶笔记(3)——如何重构controller

    目录 一. 结构拆分 二.基本代码优化 本篇是内部培训交流会的摘要总结. 培训PPT和示例代码已托管至我的github仓库: https://github.com/dashnowords/blogs/ ...