robwdwd / arbor-api-bundle
此包已被废弃且不再维护。未建议替代包。
Arbor Sightline API Symfony Bundle。
v2.0.3
2023-11-24 16:24 UTC
Requires
- php: >=8.1
- ext-dom: *
- ext-soap: *
- symfony/cache: >=6.0
- symfony/config: >=6.0
- symfony/dependency-injection: >=6.0
- symfony/framework-bundle: >=6.0
- symfony/http-client: >=6.0
Requires (Dev)
- rector/rector: ^0.17.1
README
ArborAPI Symfony Bundle
Symfony Bundle 用于与 Arbor Sightline API 交互。
什么是 ArborAPI Bundle?
ArborAPI 是一个用于通过 REST、Web 服务或 SOAP 与 Arbor Sightline 部署交互的 Symfony Bundle。
功能
ArborAPI 支持以下内容
- 支持将 Arbor REST API 作为服务。
- 支持将 Arbor Web 服务 API 作为服务。
- 支持将 Arbor SOAP API 作为服务。
- 可选的 Sightline 响应缓存。
- 当前正在测试 Arbor SP 9.5,但应适用于大多数 9.x 版本及以上。
需求
ArborAPI PHP 类需要以下内容
- PHP 8.1 或更高版本
- symfony/http-client
- symfony/cache
- ext/dom
- ext/soap
安装
请确保全局已安装 Composer,如 Composer 文档中的 安装章节 所述。
使用 Symfony Flex 的应用程序
打开命令行控制台,进入您的项目目录,并执行以下命令
composer require robwdwd/arbor-api-bundle
未使用 Symfony Flex 的应用程序
步骤 1:下载 Bundle
打开命令行控制台,进入您的项目目录,并执行以下命令以下载此 Bundle 的最新稳定版本
composer require arbor-api-bundle
步骤 2:启用 Bundle
然后,通过将其添加到项目 config/bundles.php 文件中注册的 Bundle 列表中来启用 Bundle
// config/bundles.php return [ // ... Robwdwd\ArborApiBundle\ArborApiBundle::class => ['all' => true], ];
配置
配置在 config/packages/robwdwd_arbor_api.yaml 中完成,尽管这可以是任何文件名。
arbor_api: hostname: '%env(string:ARBOR_HOSTNAME)%' wskey: '%env(string:ARBOR_WS_KEY)%' resttoken: '%env(string:ARBOR_REST_TOKEN)%' username: '%env(string:ARBOR_SOAP_USERNAME)%' password: '%env(string:ARBOR_SOAP_PASSWORD)%' wsdl: '%env(string:ARBOR_SOAP_WSDL)%' cache: true cache_ttl: 300
然后在您的 .env.local(或您希望使用的任何其他环境文件)中添加以下内容
ARBOR_HOSTNAME="sp.example.com" ARBOR_WS_KEY="pieWoojiekoo2oozooneeThi" ARBOR_REST_TOKEN="Yohmeishuongoh0goeYu9haeph9goh8oogovaeth" ARBOR_SOAP_USERNAME="user" ARBOR_SOAP_PASSWORD="Password1234" ARBOR_SOAP_WSDL="PeakflowSP.wsdl"
缓存
默认情况下,此 Bundle 不缓存 Sightline/SP 的响应。在配置中将缓存设置为 true 将会将响应缓存到 cache.app 池中。默认情况下,它将响应缓存五分钟(300秒)。您可以使用 cache_ttl 配置设置更改此。
您可以使用 setShouldCache(bool) 函数在当前实例中开启和关闭缓存。$restApi->setShouldCache(false)
如果您在 symfony 应用程序中使用了文件系统缓存,您需要手动修剪缓存以定期删除过时的条目。您可以将此设置为 cron 作业。
php bin/console cache:pool:prune