Home >Development Tools >composer >How to write your own zhazha composer package

How to write your own zhazha composer package

藏色散人
藏色散人forward
2021-04-28 16:48:181483browse

下面由composer教程栏目给大家介绍怎么写一个自己的渣渣composer包,希望对需要的朋友有所帮助!

How to write your own zhazha composer package

如何写一个自己的渣渣composer包

很多教程都在教大家如何写一个自己的composer包,但总不放代码。

你不放代码,就会导致看你帖子的人呐,不能得到很好很直观的理解。用产品的角度来思考呢,就是用户体验差。我就贴代码。简单的 Hello World 我也贴出来。你看,这样不仅能够凑字数,还能让用户觉得体验好,真是美滋滋呀。

大家纷纷可以上 https://packagist.org/ 上搜一些包,放到自己的项目中,这样很方便。假如你有一些功能类,没地方保存,比如你的功能类很大,硬盘不够...不过这倒不太可能。那假如你丢三落四,好不容易有一天,写(chao)了(xi)一个很牛x的类,curl类,兴致勃勃保存到 curl.txt 第二天丢了。很尴尬...

那你可以放到 github 呀。如果方便使用呢,你就放到 packagist.org 呀。

比如我写了一个 XorEncryption(异或加密) 的方法。

关于 composer 的一些知识,需要自行了解呢。

有人说贴图比较好,我就爱文字叙述/(ㄒoㄒ)/:首先你去 github 上新建一个项目。比如我的 opqnext/XorEncryptiono

然后你在你在本地创建一个目录。把项目 clone 下来。之后你可以用 composer init 一步一步按提示添加项目名称,描述,作者,依赖包等等信息最后生成一个 composer.json 的文件。或者也可以新建一个文件,然后直接把我下面这个内容拷贝到你的 composer.json 里。然后对应的配置改一改,第一步完成了。

{
    "name": "opqnext/xor-encryption",
    "description": "php xor-encryption",
    "type": "library",
    "keywords": [
        "php",
        "xor"
    ],
    "license": "MIT",
    "authors": [
        {
            "name": "opqnext",
            "email": "309622694@qq.com"
        }
    ],
    "require": {
        "php": ">=5.3.0"
    },
    "autoload": {
        "psr-0": {
            "XorEncryption\\": "src/"
        }
    }
}

还是直接拷贝来的容易的,一定要写上 autoload

然后你就开发你的代码 创建一个src目录。如果看我的代码,就到我的 github 去看。我这里说一下,假如我们要写一个 Hello World 的包。创建一个 src 目录。 创建一个 HelloWorld 的目录,写一个 HelloWorld 的类 :

<?php
/**
 * Hello World
 * @author: 郭贰小姐
 */

namespace HelloWorld;

class HelloWorld {

    public function say_hello()
    {
        return "hello world";
    }
}

push 到 github 上面,你可以打一些 tag 标明版本号的呀。

到这里,代码应该就开发完成了。然后你代码提交到 submit packages 把你的 git 地址写上。

把 readme.md 完善一下。就这么多了。

我提交了 v1.0.1 版本之后,不知道为什么,国内的镜像总是不能同步过来。真是伤心...

The above is the detailed content of How to write your own zhazha composer package. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:segmentfault.com. If there is any infringement, please contact admin@php.cn delete