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