2021-09-03 php composer私包的创建及测试例子

15 篇文章 0 订阅

1、比如要在demo/class下创建一个包,如存放目录为composer_test。
2、在目录中增加一个src目录。

3、在src增加一个类,名字为:SayHello.php,内容为:

<?php

namespace Hello;

class SayHello {

    public static function world () {

        return 'Hello World!';

    }

}

4、在存放主目录compose_test下创建一个测试文件:test.php,内容为:

<?php

require_once __DIR__ . '/vendor/autoload.php';

use Hello\SayHello;

echo SayHello::world();

5、提前安装好composer。在composer_test包中执行composer init

按提示输入内容,生成composer.json文件,内容为:

{

    'name': 'rainpet/test',

    'description': 'ddd',

    'type': 'l',

    'license': 'mit',

    'minimum-stability': 'dev',

    'require': {}

}

6、编辑composer.json,添加psr-4加载配置文件:

'autoload': {

        'psr-4': {

            'Hello\\': 'src/'

        }

    }

7、在composer_test目录中执行:

composer install,即会自动创建vender目录及包的配置内容,在使用时,即会自动类,完成。

内容其实存储在:

composer_test\vendor\composer\autoload_psr4.php

composer_test\vendor\composer\autoload_static.php

中。

8、如果更改了compoer.json文件,则需要在composer_test文件中执行:

composer update

然后再次执行composer install,方可恢复正常状态。
9、composer.json中psr-4前部分,其实是命名空间namespace,需要在src中,新建类时,需要定义namespace Hello。

10、如果需要增加一个新的命名空间,如Hello1,同时增加一个新的类SayMe,则需要两步:

首先在src中创建文件SayMe.php,内容如下:

<?php

namespace Hello1;

class SayMe {

    public static function world () {

        return 'Hello Me!';

    }

}

然后在composer.json中的psr4中增加对应内容:

'autoload': {

        'psr-4': {

            'Hello\\': 'src/',

            'Hello1\\': 'src/'

        }

    }

即需要增加一个’Hello1\’: ‘src/’,然后需要在composer_test中执行compoer install

即可在test.php中即可使用正确的类:

使用方法是:

use Hello1\SayMe;

echo SayMe::world();

11、如果想在src中,再次增加一个Say的目录,同时调用时,使用\Hello\Say\SayHe,则可进行如下的调整:

在src下创建目录:Say,此目录中增加SayHe.php文件,内容如下:

<?php

namespace Hello\Say;

class SayHe {

    public static function world () {

        return 'Hello He!';

    }

}

在主测试中,增加内容:

use Hello\Say\SayHe;

echo SayHe::world();

即可正常运行。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lwprain

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值