robwdwd/sightline-api-bundle

Sightline API Symfony Bundle。

安装: 25

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 1

分支: 0

开放问题: 0

类型:symfony-bundle

dev-main / 1.0.x-dev 2024-06-11 10:34 UTC

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

使用方法

Web 服务和 SOAP

REST API