purple-dbu / vcloud-sdk-helpers
用于vCloud Director PHP SDK的工具类
v1.2.4
2014-04-15 08:33 UTC
Requires
- php: >=5.3.2
- pear-pear.php.net/http_request2: 2.2.*
- vmware/vcloud-sdk-patched: >=550.4.0
Requires (Dev)
- amercier/cli-helpers: 1.4.*
- pear-pear.php.net/log: 1.12.*
- pear-pear.php.net/php_codesniffer: 1.5.*
- phpdocumentor/phpdocumentor: 2.3.*
- phpunit/phpunit: 4.0.*
- satooshi/php-coveralls: 0.6.*
- zendframework/zend-config: 2.3.*
- zendframework/zend-json: 2.3.*
- zendframework/zend-loader: 2.3.*
README
用于vCloud Director PHP SDK的工具类
安装
可以通过Composer进行安装。您只需在您的composer.json
中添加以下内容
"repositories": [ { "type": "pear", "url": "http://pear.php.net" } ], "require": { "purple-dbu/vcloud-sdk-helpers": "1.1.3" }
使用方法
有关完整的使用说明,请参阅API 文档。
正确的助手
正确的助手让您轻松地操作用户权限。它帮助您确定当前登录用户的权限。
确定当前用户是否是其组织的管理员
$service = \VMware_VCloud_SDK_Service::getService(); $service->login(...); \VCloud\Helpers\Right::create($service)->isCurrentUserOrganizationAdmin(); // => true|false depending on currently logged user rights
查询助手
查询助手让您轻松地操作vCloud SDK查询服务。它提供了分页的抽象。
获取查询 'adminVApp' 的所有结果
$service = \VMware_VCloud_SDK_Service::getService(); $service->login(...); \VCloud\Helpers\Query::create($service)->queryRecords(\VMware_VCloud_SDK_Query_Types::ADMIN_VAPP); // => array( // \VMware_VCloud_API_QueryResultAdminVAppRecordType, // ... // )
获取 id 为 'c47ddf20-05de-44f5-b79e-c463992ffd3f' 的查询结果 'adminVApp'
$service = \VMware_VCloud_SDK_Service::getService(); $service->login(...); \VCloud\Helpers\Query::create($service)->queryRecord( \VMware_VCloud_SDK_Query_Types::ADMIN_VAPP, 'id==c47ddf20-05de-44f5-b79e-c463992ffd3f' ); // => \VMware_VCloud_API_QueryResultAdminVAppRecordType // OR null if no vApp exist with such id
异常助手
异常助手让您轻松地操作vCloud SDK异常(VMware_VCloud_SDK_Exception)。它允许从原始异常消息中提取错误代码和消息,该消息只是以下形式的原始XML
<Error xmlns="http://www.vmware.com/vcloud/v1.5" message="xs:string" majorErrorCode="xs:int" minorErrorCode="xs:string" vendorSpecificErrorCode="xs:string" stackTrace="xs:string" />
获取错误消息
... catch(\VMware_VCloud_SDK_Exception $e) { \VCloud\Helpers\Exception::create($e)->getMessage($e); // => (string) The message contained in the error XML }
获取错误代码
... catch(\VMware_VCloud_SDK_Exception $e) { \VCloud\Helpers\Exception::create($e)->getMajorErrorCode($e); // => (int) The major error code contained in the error XML }
元数据助手
元数据助手让您轻松地操作vCloud对象上的元数据。它帮助找到具有特定元数据的对象(可以是特定值或任何值)。
获取所有具有给定元数据集的vApp模板(任何值)
$service = \VMware_VCloud_SDK_Service::getService(); $service->login(...); \VCloud\Helpers\Metadata::create($service)->getObjects( \VMware_VCloud_SDK_Query_Types::ADMIN_VAPP_TEMPLATE, 'myMetadata' ); // => array( // \VMware_VCloud_SDK_VAppTemplate, // ... // ) // The result array contains all the vApp Templates that hold a metadata named // "myMetadata"
获取给定元数据集设置为特定值的第一个vApp模板
$service = \VMware_VCloud_SDK_Service::getService(); $service->login(...); \VCloud\Helpers\Metadata::create($service)->getObject( \VMware_VCloud_SDK_Query_Types::ADMIN_VAPP_TEMPLATE, 'someId', '23d6deb1-1778-4325-8289-2f150d122675' ); // => \VMware_VCloud_SDK_VAppTemplate // // The result vApp Template is the first vApp Template that holds a metadata // named "someId" with the value "23d6deb1-1778-4325-8289-2f150d122675"
许可
本项目遵循MIT 许可协议发布。如果由于任何原因此许可证不适合您的需求,但您有兴趣在其他许可证下使用该作品(如下所述),请联系Purple DBU,邮箱:dbu.purple@gmail.com。
贡献
贡献(问题♥,拉取请求♥♥♥)非常欢迎!请随意克隆、分支、修改、扩展等,只要您尊重许可条款。
要求
您需要安装以下软件
- git
- make
- curl
- php >= 5.3.2
您需要有一个可工作的vCloud Director安装。
入门
要开始贡献,最好是遵循以下步骤
- 创建GitHub账户
- 创建此项目的分支副本
- 将其克隆到您的机器:
git clone https://github.com/<you>/vcloud-sdk-php-helpers.git
- 进入项目的根目录:
cd vcloud-sdk-php-helpers
- 创建文件tests/config.php:
cp tests/config.php.dist tests/config.php
- 编辑
tests/config.php
并根据您的vCloud Director配置设置值 - 安装依赖项:
make dependencies
- 运行测试:
make test
常见任务
- 更新依赖项:
make dependencies
- 清理依赖项:
make clean
- 检查代码质量:
make lint
- 运行集成测试:
make integration
- 为单元测试生成存根:
make stubs
- 运行单元测试:
make test
- 生成API文档:
make doc
- 发布API文档:
make publish
版本管理
以语义化版本控制(Semver)为基础进行版本控制,本项目还遵循额外的版本编号指南。每个版本格式为x.y.z
,其中
- 对
x
的任何修改都会引入向下不兼容的破坏 - 对
y
的任何修改都会引入一个新特性 y
的修改只是对现有补丁的纠正