ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
[php-mq composer package](https://packagist.org/packages/ablegang/php-mq) 上面,我已经添加了一个包。 而接下来,我将演示将这个我们自己创建的包,放到 packagist.org 中,让它支持 composer 管理。 # composer.json 在根目录新建 composer.json 文件 ``` { "name": "ablegang/php-mq", "description": "PHP 模拟消息队列包", "keywords": [ "object", "半醒的狐狸", "php message queue", "php 消息队列" ], "license": "MIT", "author": [ { "name": "半醒的狐狸", "email": "2252390865@qq.com", "homepage": "http://www.vsonweb.com", "role": "Master" } ], "require": { "php": ">=7.0.0" }, "minimum-stability": "dev", "autoload": { "psr-4": { "Ablegang\\PhpMq\\": "src/" } } } ``` 注意,上面的 minimum-stability 和 autoload 很重要。 它将决定这个包对其他包的兼容性和自动加载能力。 # 调整目录结构 作为一个 composer 包,我们应该将包的主要代码存储到 src 目录下,而生产者和消费者属于测试代码,将它放到 tests 目录下。 调整后的结构如下: ``` php-mq |--- src |---|--- Driver |---|---|--- QueueI.php |---|---|--- Job.php |---|---|--- MysqlDriver.php |---|---|--- RedisDriver.php |---|---|--- queue.sql |---|--- Queue.php |--- tests |---|--- Producer.php |---|--- Consumer.php |---|--- RedisProducer.php |---|--- RedisConsumer.php |--- .gitignore |--- composer.json |--- README.md ``` 其中, gitignore 文件主要负责将某一些文件排除在 git 监管之外。 *.gitignore* ``` /.idea vendor .composer.lock ``` # 提交 github 把项目提交到 github 上面,用 github 进行管理。 具体如何操作,网上有很多描述,这里就不详细介绍了。 # packagist submit ![](https://box.kancloud.cn/43b371b393319bfdd3fd46b5def1a1c2_1219x590.png) # 使用 ``` composer install "ablegang/php-mq" ```