dbp / relay-nexus-bundle
Relay API 网关的模板包
Requires
- php: >=8.1
- ext-json: *
- api-platform/core: ^2.7.11 || ^3.2
- dbp/relay-core-bundle: ^0.1.148
- symfony/config: ^5.4 | ^6.4
- symfony/dependency-injection: ^5.4 | ^6.4
- symfony/framework-bundle: ^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
- phpstan/phpstan-symfony: ^1.3.7
- phpunit/phpunit: ^9.6.17
- symfony/browser-kit: ^5.4 | ^6.4
- symfony/http-client: ^5.4 | ^6.4
- symfony/monolog-bundle: ^3.10
- symfony/phpunit-bridge: ^5.4 | ^6.4
- vimeo/psalm: ^5.22.2
This package is auto-updated.
Last update: 2024-09-23 03:26:54 UTC
README
DbpRelay{{Name}}Bundle
GitHub | Packagist | 前端应用程序 | {{Name}} 网站
{{name}} 包提供与 ... 交互的 API
在 {{Name}} 前端应用程序 中使用此 API 对应的前端应用程序。
包安装
您可以直接从 packagist.org 安装此包。
composer require {{package-name}}
集成到 Relay API 服务器
- 将包添加到您的
config/bundles.php
中的DbpRelayCoreBundle
之前
... Dbp\Relay\{{Name}}Bundle\DbpRelay{{Name}}Bundle::class => ['all' => true], Dbp\Relay\CoreBundle\DbpRelayCoreBundle::class => ['all' => true], ];
如果您使用的是 DBP API 服务器模板 作为您的 Symfony 应用的模板,那么这应该已经为您生成了。
- 运行
composer install
清除缓存
配置
该包有一个 database_url
配置值,您可以在您的应用程序中指定它,无论是通过硬编码还是通过引用环境变量。
为此,在应用程序中创建 config/packages/dbp_relay_{{name}}.yaml
,内容如下
dbp_relay_{{name}}: database_url: 'mysql://db:secret@mariadb:3306/db?serverVersion=mariadb-10.3.30' # database_url: %env({{NAME}}_DATABASE_URL)%
如果您使用的是 DBP API 服务器模板 作为您的 Symfony 应用的模板,那么配置文件应该已经为您生成了。
有关包配置的更多信息,请参阅 https://symfony.com.cn/doc/current/bundles/configuration.html。
开发与测试
- 安装依赖项:
composer install
- 运行测试:
composer test
- 运行 linters:
composer run lint
- 运行 cs-fixer:
composer run cs-fix
包依赖项
如果您在包中安装包,不要忘记从主应用程序中拉取您的依赖项。
# updates and installs dependencies of {{package-name}}
composer update {{package-name}}
脚本
数据库迁移
运行此脚本以迁移数据库。在安装包和每次更新后运行此脚本以使数据库适应新的源代码。
php bin/console doctrine:migrations:migrate --em=dbp_relay_{{name}}_bundle
错误代码
/{{name}}/submissions
POST
/{{name}}/submissions/{identifier}
GET
角色
此包需要将角色 ROLE_SCOPE_{{NAME}}
分配给用户以获取获取数据的权限。要创建新的提交条目,需要 Symfony 角色 ROLE_SCOPE_{{NAME}}-POST
。
事件
为了扩展包的行为,已注册以下事件
CreateSubmissionPostEvent
此事件允许您对提交创建做出反应。例如,您可以使用此事件向提交者发送电子邮件。
事件订阅者在服务中接收 Dbp\Relay\{{Name}}Bundle\Event\CreateSubmissionPostEvent
实例,例如在 src/EventSubscriber/CreateSubmissionSubscriber.php
中。
<?php namespace App\EventSubscriber; use Dbp\Relay\{{Name}}Bundle\Event\CreateSubmissionPostEvent; use Symfony\Component\EventDispatcher\EventSubscriberInterface; class CreateSubmissionSubscriber implements EventSubscriberInterface { public static function getSubscribedEvents(): array { return [ CreateSubmissionPostEvent::NAME => 'onPost', ]; } public function onPost(CreateSubmissionPostEvent $event) { $submission = $event->getSubmission(); $dataFeedElement = $submission->getDataFeedElementDecoded(); // TODO: extract email address and send email $email = $dataFeedElement['email']; } }