grizz-it / micro-service

1.0.0 2022-09-09 20:28 UTC

This package is not auto-updated.

Last update: 2024-09-22 04:54:55 UTC


README

这是一个面向需要最小实现的项目的一个极简服务层实现。

添加服务定义

要添加一个需要从中读取服务的位置,请添加以下代码片段

<?php

use GrizzIt\MicroService\Service\ServiceFactory;

ServiceFactory::loadServicesFrom('directory/with/services');

在那个目录中,可以在名为services.json的JSON文件中定义服务。

定义服务

可以通过将以下内容添加到services.json文件中来定义服务

{
  "services": {
    "my_controller": {
      "class": "App\\Http\\Controller\\MyController",
      "params": ["$.my_database_connection"],
      "singleton": true
    }
  }
}

services键内部,可以定义定义。对象的键确定服务键,这可以通过在前面加上$.来在其他params中引用,否则按原样传递。《singleton》键可以用来确保在脚本运行期间只创建一个实例。

创建服务

在创建服务之前,必须使用一行命令启动服务工厂。

<?php

use GrizzIt\MicroService\Service\ServiceFactory;

ServiceFactory::load();

然后可以通过运行以下命令来创建服务

<?php

use GrizzIt\MicroService\Service\ServiceFactory;

ServiceFactory::create('my_controller');

这将返回定义的服务的一个实例。

MIT许可证

版权所有 (c) GrizzIT

特此授予任何获得本软件及其相关文档副本(“软件”)的人免费使用软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,并允许软件的接收者行使上述权利,但受以下条件的约束

上述版权声明和本许可声明应包含在软件的副本或实质性部分中。

软件按“原样”提供,没有任何形式的保证,无论是明示的、暗示的还是法定的,包括但不限于适销性、特定用途适用性和非侵权性保证。在任何情况下,作者或版权所有者不对任何索赔、损害或其他责任负责,无论是在合同、侵权或其他法律行为中产生的,无论是由软件或其使用或其他方式引起的。