创建自己的composer包之怎样制作composer包

项目做多了之后,可能会慢慢总结出自己的代码库出来,当在新的项目中使用的时候,总不能一直是复制粘贴。这个时候,composer就能派上用场了。一个项目开始,使用composer就能够加载所需要的依赖,非常方便。这个时候,来做一个自己的包吧!

使用命名空间

composer自动加载需要用到命名空间,因此所有的代码库都需要使用命名空间,如果没有,那就改吧!使用命名空间之后你可能会打开新世界的大门。

创建composer.json

我假设你已经安装了composer,并且已经会使用了。创建自己的包我们首先需要创建一个composer.json,示例文件如下

{
    "name": "cmhc/tests",
    "description": "a test",
    "type": "library",
    "license": "MIT",
    "authors": [
        {
            "name": "huchao",
            "email": "hu_chao@139.com"
        }
    ],
    "minimum-stability": "stable",
    "require": {},
    "autoload":{
        "psr-4":{
            "test\\":"src/"
        }
    }
}

上面的composer.json有一个比较重要的是autoload,这个表示的是根据某种规范实现自动加载,使用psr4。key为这个包的根命名空间,value为根命名空间的文件夹。

上面composer.json对应的目录结构应该是这样的

test
├── composer.json
└── src
    └── test.php

创建项目代码

项目代码可以放在根目录下面的src目录下面,现在只创建一个示例代码test.php

<?php
namespace test;

class Test
{
    public function hello()
    {
        echo "hello";
    }
}

安装包

做好了之后就可以测试composer包是否已经做好了,执行composer update。然后在根目录下面创建一个测试文件test.php,内容可以如下:

<?php
use test\Test;
require __DIR__ . '/vendor/autoload.php';
$test = new Test();
$test->hello();

执行之后输出test,表示我们的自动加载已经成功了。

到这里,一个完整的包就做完了。

赞赏

微信赞赏支付宝赞赏

发表评论

电子邮件地址不会被公开。 必填项已用*标注