robwdwd / sightline-api-bundle
Sightline API Symfony Bundle。
Requires
- php: >=8.1
- ext-dom: *
- ext-soap: *
- symfony/cache: >=6.4
- symfony/config: >=6.4
- symfony/dependency-injection: >=6.4
- symfony/framework-bundle: >=6.4
- symfony/http-client: >=6.4
Requires (Dev)
- rector/rector: ^1.1.0
This package is auto-updated.
Last update: 2024-09-11 11:08:42 UTC
README
Sightline API 的 Symfony Bundle,用于与 Sightline API 进行交互。
什么是 SightlineApi Bundle?
SightlineApi 是一个 Symfony Bundle,用于通过 REST、Web 服务或 SOAP 与 Sightline 部署进行交互。
功能
SightlineApi 支持:
- 作为服务支持 Sightline REST API。
- 作为服务支持 Sightline Web 服务 API。
- 作为服务支持 Sightline SOAP API。
- 可选的 Sightline 响应缓存。
- 目前与 Sightline 9.7 进行测试,但应适用于大多数 9.x 版本及以上。
要求
SightlineApi PHP 类需要以下内容:
- PHP 8.1 或更高版本
- symfony/http-client
- symfony/cache
- ext/dom
- ext/soap
安装
确保全局安装了 Composer,如 Composer 文档中的 安装章节 所述。
使用 Symfony Flex 的应用程序
打开命令行,进入您的项目目录并执行
composer require robwdwd/sightline-api-bundle
不使用 Symfony Flex 的应用程序
步骤 1:下载 Bundle
打开命令行,进入您的项目目录并执行以下命令以下载此 Bundle 的最新稳定版本
composer require sightline-api-bundle
步骤 2:启用 Bundle
然后,通过将其添加到项目 config/bundles.php 文件中注册的 Bundle 列表来启用 Bundle
// config/bundles.php return [ // ... Robwdwd\SightlineApiBundle\SightlineApiBundle::class => ['all' => true], ];
配置
配置在 config/packages/robwdwd_sightline_api.yaml 中进行,尽管这可以是任何文件名。
sightline_api: hostname: '%env(string:SIGHTLINE_HOSTNAME)%' wskey: '%env(string:SIGHTLINE_WS_KEY)%' resttoken: '%env(string:SIGHTLINE_REST_TOKEN)%' username: '%env(string:SIGHTLINE_SOAP_USERNAME)%' password: '%env(string:SIGHTLINE_SOAP_PASSWORD)%' wsdl: '%env(string:SIGHTLINE_SOAP_WSDL)%' cache: true cache_ttl: 300
然后在您的 .env.local(或您希望在其中使用此文件的任何其他环境文件)中添加以下内容
SIGHTLINE_HOSTNAME="sp.example.com" SIGHTLINE_WS_KEY="pieWoojiekoo2oozooneeThi" SIGHTLINE_REST_TOKEN="Yohmeishuongoh0goeYu9haeph9goh8oogovaeth" SIGHTLINE_SOAP_USERNAME="user" SIGHTLINE_SOAP_PASSWORD="Password1234" SIGHTLINE_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