grizz-it / micro-service
1.0.0
2022-09-09 20:28 UTC
Requires
- php: >=8.1
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
特此授予任何获得本软件及其相关文档副本(“软件”)的人免费使用软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,并允许软件的接收者行使上述权利,但受以下条件的约束
上述版权声明和本许可声明应包含在软件的副本或实质性部分中。
软件按“原样”提供,没有任何形式的保证,无论是明示的、暗示的还是法定的,包括但不限于适销性、特定用途适用性和非侵权性保证。在任何情况下,作者或版权所有者不对任何索赔、损害或其他责任负责,无论是在合同、侵权或其他法律行为中产生的,无论是由软件或其使用或其他方式引起的。