uuf6429 / force.com-toolkit-for-php
Force.com Web Services SOAP API的包装器
This package is auto-updated.
Last update: 2024-09-18 03:20:59 UTC
README
Force.com PHP Toolkit提供了一个易于使用的Force.com Web Services SOAP API包装器,为企业和合作伙伴WSDL提供了SOAP客户端实现。
请参阅入门指南,了解如何在Force.com数据库中创建、检索、更新和删除记录的示例代码。
升级
这个库的新版本是一个主要的重写。
由于公共接口保持不变或略有变化(例如,一些全局常量现在是类常量),迁移不应很困难。
以下是变更的概述
- 更多的Composer: PHP扩展和第三方PHP包的要求现在通过Composer提供。这意味着一旦您使用Composer安装了您的扩展,就不会有进一步的依赖问题。
- 命名空间: 所有一切现在都在
SForce
命名空间下。特别是这解决了非常通用的类名引起的冲突问题。 - 更干净的全球范围: 由于一切都被移动到命名空间中,像常量或变量这样的东西也被移动了。
- PSR-2: 更新了编码标准,也提高了代码质量。特别是,每个类都有自己的文件。
- 更好的开发环境: 贡献变得更加容易。代码风格自动固定,运行测试更加容易,持续测试运行等。
- 错误修复: 已修复大量错误:一些文件输出的空白,缺失变量,冗余参数,不正确的方法调用等...
- 模式生成器: 一个用于生成粗略DDL模式(您可以在IDE中使用它来帮助编写SOQL查询)的工具。
- 徽章: 现在您可以通过查看摘要来快速了解项目概述。
- 自定义API版本: 您可以使用自己的WSDL源,这意味着您可以使用不同的API版本,可能具有对更多API实体的访问。
这些变更是有代价的。最低支持的PHP版本是PHP 5.6。它可能与旧版本兼容,但没有保证。如果您仍在使用不受支持的PHP版本,请立即升级。
安装
将此库包含到您的项目中最简单的方法是使用Composer。
composer require uuf6429/Force.com-Toolkit-for-PHP
或者,库可以通过任何PSR-4自动加载器加载。
重要: 默认情况下,此库通过src/SForce/Wsdl
中的WSDL生成类。请参阅WSDL类路径部分以更改此行为。
功能
WSDL源
可以为您期望的版本和源定制WSDL。您可以选择提供自己的WSDL文件或编写自己的代码来提供这些。
注意: 此库依赖于一个特定的WSDL源,因此例如,您不能连接到两个(或更多)具有不同WSDL源的API端点。在这种情况下,选择一个通用的API级别并用于所有。
要使用自己的WSDL源,首先您需要在您的composer.json
中添加一个“extras”条目,然后您需要将正确的WSDL路径传递给$client->createConnection($wsdl)
。以下是几个composer.json
示例
- 一个具有静态方法并返回源列表(字符串)的类
{ "extra": { "sforce-wsdl-source": "MyWsdlSource::getSource" } }
- 一个返回源列表(字符串)的函数
{ "extra": { "sforce-wsdl-source": "myproject_get_wsdl_source" } }
- URL列表(必须可以通过composer访问)
{ "extra": { "sforce-wsdl-source": [ "https://my-sforce.com/soap/enterprise.wsdl", "https://my-sforce.com/soap/partner.wsdl", "https://my-sforce.com/soap/metadata.wsdl" ] } }
- 本地文件列表(相对于项目根目录)
{ "extra": { "sforce-wsdl-source": [ "src/SForce/Wsdl/enterprise.wsdl", "src/SForce/Wsdl/partner.wsdl", "src/SForce/Wsdl/metadata.wsdl" ] } }
WSDL类路径
如前节所述,一些类是由SOAP WSDL生成的,即使使用了默认设置。默认情况下,这些类将位于您的项目中的src/SForce/Wsdl
,但是这可以通过composer.json
进行更改
{ "extra": { "sforce-wsdl-classpath": "cache/SForce" } }
- 注意1: 自动加载器会自动更新以指向类路径。您不需要自行更改它。换句话说:类会自动加载。
- 注意2: 每次更改位置时,请确保删除之前位置的生成文件。生成器无法为您清理,因为它不知道之前的位置。
模式生成器
SchemaGen类是一个简单的工具,可以生成SOAP API的大致DDL。您可以将生成的SQL模式文件用作IDE中的“DDL数据源”(例如,在PhpStorm中)。这允许IDE在您编写SOQL查询时提供有用的信息。下面是这个样子的
测试
单元测试只需要PHPUnit(通过Composer默认安装),因此您只需运行以下命令即可
vendor/bin/phpunit test/Unit
集成测试需要一个真实的SalesForce账户,并且您需要提供作为环境变量的凭据
SALESFORCE_USER="john@doe.com" SALESFORCE_PASS="Som3p4ssw0rd" SALESFORCE_TOKEN="b0dca2fa0b3ef1a5bf5ba9dd6bdf0fca" vendor/bin/phpunit test/Integration
TODO
- 将文档转换为markdown格式
- 将readme中的“入门”链接指向文档
- 使用正确的命名空间
- 将依赖项添加到composer中(例如,ext-soap)
- 创建测试
- 针对开发版运行测试
- 检查和设置代码覆盖率
- 最终清理提交
- 将
uuf6429
替换为developerforce
(例如;readme,composer) - 将
Major-refactor
替换为master
(例如;徽章)
- 将