birdsystem / common
Birdsystem 的通用包
此包的规范仓库似乎已消失,因此该包已被冻结。
0.2
2020-12-02 13:56 UTC
Requires
- symfony/config: ^v5.2.0
- symfony/dependency-injection: ^v5.2.0
- symfony/flex: ^1.10
- symfony/http-client: ^v5.2.0
- symfony/http-kernel: ^v5.2.0
- symfony/yaml: ^5.2
Requires (Dev)
- phpunit/phpunit: ^9.4
- symfony/contracts: ^2.3
- symfony/dotenv: ^v5.2.0
- symfony/framework-bundle: ^5.2
- symfony/phpunit-bridge: ^5.2
- symfony/string: ^5.2
This package is auto-updated.
Last update: 2020-12-04 16:19:56 UTC
README
用途
此组件包含 BirdSystem 中所有微服务使用的某些通用库/服务
安装
在您的 composer.json
文件中,添加以下代码
"extra": {
"symfony": {
"endpoint": "https://flex-server.birdsystem.com"
}
}
这样做是为了使用我们自己的 flex-server,这样我们就可以使用我们自己的 私有 Flex Recipes。
然后从这个库中需要这个库
composer require -W birdsystem/common:dev-master
-W
选项是为了更新此库所需的所有依赖项。
验证安装
您应该在您的 .env 文件中看到更多环境变量被添加。(这是通过 flex recipes 实现的)
在您自己的微服务中运行
bin/console debug:container birdsystem
如果您看到一些服务被列出,那么这意味着安装已成功。
使用
为了遵循 Symfony 服务容器 的最佳实践,通常 我们应该将我们自己的所有服务标记为 私有。
使用私有服务,您不能使用 $container->get('service_name')
。
相反,通过类型提示使用服务(以下示例是使用 Company
微服务,它只是一个 作用域 HttpClient,具有预定义的 基础 URI)
<?php
namespace App;
use Birdsystem\CommonBundle\MicroServiceClient\Company;
class Test{
public function test(Company $company){
$company->request('GET','/company');
}
}
上面的代码应该向 http://company/api/company
发送 GET 请求,因为您的 .env 文件中应该有如下定义
SERVICE_URL_COMPANY=http://company/api/
更新配方
如果我们后来向系统中添加了更多配置,并且已经更新了配方,您将需要更新它
bin/console recipes:install birdsystem/common --force