dbp / relay-base-organization-bundle
v0.2.13
2024-05-23 09:32 UTC
Requires
- php: >=8.1
- ext-json: *
- api-platform/core: ^2.7.11 || ^3.2
- dbp/relay-core-bundle: ^0.1.153
- symfony/config: ^5.4 || ^6.4
- symfony/dependency-injection: ^5.4 || ^6.4
- symfony/http-kernel: ^5.4 || ^6.4
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.50
- phpstan/phpstan: ^1.10.59
- phpstan/phpstan-phpunit: ^1.3.16
- phpunit/phpunit: ^10.1
- symfony/browser-kit: ^5.4 || ^6.4
- symfony/error-handler: ^5.4 || ^6.4
- symfony/http-client: ^5.4 || ^6.4
- symfony/monolog-bridge: ^5.4 || ^6.4
- symfony/monolog-bundle: ^3.10
- symfony/phpunit-bridge: ^5.4 || ^6.4
- vimeo/psalm: ^5.22.2
README
集成到 Relay API 服务器
- 将捆绑包添加为依赖项
composer require dbp/relay-base-organization-bundle
- 在
config/bundles.php
中将捆绑包添加到DbpRelayCoreBundle
之前
... Dbp\Relay\BaseOrganizationBundle\DbpRelayBaseOrganizationBundle::class => ['all' => true], Dbp\Relay\CoreBundle\DbpRelayCoreBundle => ['all' => true], ];
- 运行
composer install
清除缓存
OrganizationProvider 服务
对于需要获取组织的服务,您需要在您的应用程序中创建一个实现 OrganizationProviderInterface 的服务。
示例
服务类
例如,您可以将以下代码放入 src/Service/OrganizationProvider.php
<?php declare(strict_types=1); namespace YourUniversity\Service; use Dbp\Relay\BaseOrganizationBundle\API\OrganizationProviderInterface; use Dbp\Relay\BaseOrganizationBundle\Entity\Organization; class OrganizationProvider implements OrganizationProviderInterface { public function getOrganizationById(string $identifier, string $lang): Organization { return some_method_that_fetches_an_organization_by_id($identifier, $lang); } /** * @return Organization[] */ public function getOrganizationsByPerson(Person $person, string $context, string $lang): array { return some_method_that_fetches_an_organization_by_person($person, $context, $lang); } /** * @return Organization[] */ public function getOrganizations(string $lang): array { return some_method_that_fetches_all_organizations($lang); } }
服务配置
对于上述类,您需要将其添加到您的 src/Resources/config/services.yaml
Dbp\Relay\BaseOrganizationBundle\API\OrganizationProviderInterface: '@YourUniversity\Service\OrganizationProvider'