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
(例如;徽章)
- 将