uuf6429/force.com-toolkit-for-php

Force.com Web Services SOAP API的包装器

安装次数: 3,779

依赖者: 1

推荐者: 0

安全性: 0

星级: 12

关注者: 5

分支: 215

类型:composer-plugin

v27.0.3 2015-03-23 21:27 UTC

This package is auto-updated.

Last update: 2024-09-18 03:20:59 UTC


README

Build Status Minimum PHP Version License Coverage Packagist

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查询时提供有用的信息。下面是这个样子的

SchemaGen

测试

单元测试只需要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(例如;徽章)