如何创建自己的一个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. BBS论坛(十六)

    16.登录功能完成 (1)front/forms.py class SigninForm(BaseForm): telephone = StringField(validators=[Regexp(r ...

  2. 【JMeter】(2)---HTTP压测

    JMeter---HTTP压测 一.创建线程组 右击-->添加-->Threads(Users)-->线程组 下面对比较重要的几个参数,讲解下: 名称: 就是给你这个线程组起名字. ...

  3. CORS(跨域)请求总结和测试

    一.简单请求与非简单请求 跨域请求分为简单与非简单请求,同时满足以下两种条件的可以确定为简单请求. 简单请求的请求方法 请求方法 说明 head 发送头部信息 get   post   简单请求的HT ...

  4. gradle插件从3.2.0升级到3.2.1后报错Error: Cannot create directory 项目目录\thirdlib\build\intermediates\packaged_res\debug\drawable

    报错信息如下:  解决方案: 删除thirdlib\build目录,然后重新编译. 但是紧接着又会报类似的错误,只不过build目录变成其他module的了. 所以,先clear build,然后再重 ...

  5. 【Python3爬虫】selenium入门

    selenium 是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Fire ...

  6. 【ASP.NET Core快速入门】(十四)MVC开发:UI、 EF + Identity实现、注册实现、登陆实现

    前言 之前我们进行了MVC的web页面的Cookie-based认证实现,接下来的开发我们要基于之前的MvcCookieAuthSample项目做修改. MvcCookieAuthSample项目地址 ...

  7. kubernetes的安装方法

    背景 自己学习k8s集群,无奈屌丝一枚,没钱配置vpn服务,安装k8s花费的时间太久了.为了小伙伴们可以快速安装k8s,我花了点时间整理了这篇博客,提供一个不用FQ就可以愉快安装k8s集群的方法. 主 ...

  8. Spring Cloud Alibaba基础教程:Nacos配置的多文件加载与共享配置

    前情回顾: <Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现> <Spring Cloud Alibaba基础教程:支持的几种服务消费方式> ...

  9. WPF 中 DispatcherTimer 计时器

    在 WPF 中涉及到界面操作的计时器时,一定要使用 DispatcherTime,DispatcherTimer是为 WPF 专门设计的,不然的话会提示界面资源被其他线程所拥有而无法更新界面.Disp ...

  10. c# API接收Base64转图片

    /// <summary> /// API接收Base64转图片 /// </summary> /// <param name="Img">图片 ...