创建自己的composer包

前提

默认已经安装好了 composer

生成 composer.json

确定 composer 根目录

以管理员身份进入命令窗口,切换到刚新创建的目录位置,并初始化 composer 包

composer init

命令窗口返回提示

This command will guide you through creating your composer.json config.
Package name (<vendor>/<name>):

这里写包的名称(可接受的字符范围: [a-z0-9_.-]+ ),我写的是 wang/phpcommoncode,回车

输入描述

Description []:

随便填,中英文都可以。

输入作者

Author [w263756314 <263756314@qq.com>, n to skip]:

使用默认值,直接回车即可。

输入最低稳定版本

Minimum Stability []:

它是一个数组,可选值有如下:

stable, RC, beta, alpha, dev

我选的是 dev

输入包类型

Package Type (e.g. library, project, metapackage, composer-plugin) []:

我填的是 library

输入开源协议

License []: 

我填的是 Apache-2.0

设置需要依赖的包

Define your dependencies.

Would you like to define your dependencies (require) interactively [yes]?

需要就直接 yes

Search for a package:

填写 php

Enter the version constraint to require (or leave blank to use the latest version):

填写 >=5.6.0

设置完成后,会继续返回搜索包,不需要再设置其它依赖或包,则直接回车。

Would you like to define your dev dependencies (require-dev) interactively [yes]?

直接回车

设置路径

Add PSR-4 autoload mapping? Maps namespace "Wang\Phpcommoncode" to the entered relative path. [src/, n to skip]:

默认是 src ,不需要更改就直接回车。

至此,composer.json 生成完毕。

书写源码

约定根目录为 composer.json 所在目录
在 根目录下的src 目录里写入代码。
比如:

<?php
//ArrayTools.php文件
namespace Wang\Phpcommoncode;

class ArrayTools{
}

创建demo调用

在根目录创建 test.php 文件

<?php
require "vendor/autoload.php";
$arrayTools = new Wang\Phpcommoncode\ArrayTools();
$arrayTools->test();

注意点

1、composer.json 的包名即命名空间路径,即:【Wang\Phpcommoncode】
2、根目录下的 src 目录为需要存放源码的根目录,不需要在命名空间里声明。
3、如果无法分清以上2个目录,可以看composer.json文件里的声明:

"autoload": {
        "psr-4": {
            "Wang\\Phpcommoncode\\": "src/"
        }
    },

《创建自己的composer包》有1条评论

发表评论