如何创建自己的一个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. Ocelot + Consul实践

    关于Consul(https://www.consul.io)是一个分布式,高可用,支持多数据中心的服务发现和配置共享的服务软件,由 HashiCorp 公司用 Go 语言开发, 基于 Mozilla ...

  2. Ocelot统一权限验证

    Ocelot作为网关,可以用来作统一验证,接上一篇博客,我们继续 前一篇,我们创建了OcelotGateway网关项目,DemoAAPI项目,DemoBAPI项目,为了验证用户并分发Token,现在还 ...

  3. 探索ASP.NET Core中的IStartupFilter

    原文:Exploring IStartupFilter in ASP.NET Core 作者:Andrew Lock 译者:Lamond Lu 在本篇博客中,我将介绍一下IStartupFilter, ...

  4. 从锅炉工到AI专家(4)

    手写数字识别问题 图像识别是深度学习众多主流应用之一,手写数字识别则是图像识别范畴简化版的入门学习经典案例.在TensorFlow的官方文档中,把手写数字识别"MNIST"案例称为 ...

  5. 带着新人学springboot的应用12(springboot+Dubbo+Zookeeper 下)

    上半节已经下载好了Zookeeper,以及新建了两个应用provider和consumer,这一节我们就结合dubbo来测试一下分布式可不可以用. 现在就来简单用一下,注意:这里只是涉及最简单的部分, ...

  6. ueditor上传图片尺寸过大导致显示难看的解决办法

    昨天遇到这个问题,我也是折腾成了狗, 到处查,最后收集到三个办法,记录一下. 代码贴这里,方便复制 img { max-width: 100%; /*图片自适应宽度*/ } body { overfl ...

  7. Linux 项目上线管理 MAVEN + expect 一台机器管理所有机器的应用程序

    一.目的 在一台服务器上面管理所有机器的应用程序. 设想是通过一条命令能够知道所有应用程序是否running 如果not running 查看具体项目的log 跟踪具体原因,程序问题汇报相关负责人 二 ...

  8. 字符串string 、byte[]、MemoryStream、Base64String的相互转换

    1.字符串转比特数组 (1)byte[] bt=System.Text.Encoding.Default.GetBytes("字符串"); (2)byte[] bt=Convert ...

  9. Java学习笔记之——线程的生命周期、线程同步

    一. 线程的生命周期 新建(new Thrad):创建线程后,可以设置各个属性值,即启动前 设置 就绪(Runnable):已经启动,等待CPU调动 运行(Running):正在被CPU调度 阻塞(B ...

  10. Lucene.Net3.0.3+盘古分词器学习使用

    一.Lucene.Net介绍 Lucene.net是Lucene的.net移植版本,是一个开源的全文检索引擎开发包,即它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索 ...