PHPackages                             feldsam-inc/one-php - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Parsing &amp; Serialization](/categories/parsing)
4. /
5. feldsam-inc/one-php

ActiveLibrary[Parsing &amp; Serialization](/categories/parsing)

feldsam-inc/one-php
===================

OpenNebula XML-RPC API Bindings

1.4.2(3y ago)24992Apache-2.0PHPPHP &gt;=7.1

Since Sep 20Pushed 3y ago1 watchersCompare

[ Source](https://github.com/FELDSAM-INC/one-php)[ Packagist](https://packagist.org/packages/feldsam-inc/one-php)[ RSS](/packages/feldsam-inc-one-php/feed)WikiDiscussions master Synced 6d ago

READMEChangelogDependencies (3)Versions (14)Used By (0)

OpenNebula API Bindings for PHP
===============================

[](#opennebula-api-bindings-for-php)

[![Latest Stable Version](https://camo.githubusercontent.com/1fa424d7f7466abbc6b153f307b3cde3635efede297d9d2383b177ac89d268fb/68747470733a2f2f706f7365722e707567782e6f72672f66656c6473616d2d696e632f6f6e652d7068702f762f737461626c65)](https://packagist.org/packages/feldsam-inc/one-php)[![Total Downloads](https://camo.githubusercontent.com/b6fdb91609e3fa269be001921643a8c08da77bf725237d6019ab419490dfbaaa/68747470733a2f2f706f7365722e707567782e6f72672f66656c6473616d2d696e632f6f6e652d7068702f646f776e6c6f616473)](https://packagist.org/packages/feldsam-inc/one-php)[![License](https://camo.githubusercontent.com/5325d9b51fc6bf9aff07fec06e5df28013f8d987fd68c8032b6da81a5bf91bb1/68747470733a2f2f706f7365722e707567782e6f72672f66656c6473616d2d696e632f6f6e652d7068702f6c6963656e7365)](https://packagist.org/packages/feldsam-inc/one-php)

This library provides you with XML-RPC client, which parses XML responses to an array.
You can traverse over it by using dot notation.
We generated all public methods from [api.rst](https://raw.githubusercontent.com/OpenNebula/docs/master/source/integration_and_development/system_interfaces/api.rst) file.

Check example method with doc block. For more, check [src/One.php](https://github.com/FELDSAM-INC/one-php/blob/master/src/One.php)

```
/**
 * Retrieves information for all or part of the VMs in the pool.
 *
 * @param int $a Filter flag  -4: Resources belonging to the user's primary group  -3: Resources belonging to the user  -2: All resources  -1: Resources belonging to the user and any of his groups * &gt;= 0: UID User's Resources
 * @param int $b When the next parameter is &gt;= -1 this is the Range start ID. Can be -1. For smaller values this is the offset used for pagination.
 * @param int $c For values &gt;= -1 this is the Range end ID. Can be -1 to get until the last ID. For values &lt; -1 this is the page size used for pagination.
 * @param int $d VM state to filter by.
 * @param string $e Filter in KEY=VALUE format.
 * @return \One\Resource
 */
public function vmpoolInfoextended(int $a, int $b, int $c, int $d, string $e) {
    return $this->makeCall('one.vmpool.infoextended', $a, $b, $c, $d, $e);
}

```

Your IDE will use this doc blocks, and you have handy documentation inside code. No need to look into official docs page.

Examples
--------

[](#examples)

**Connect to API, create client instance**

```
$client = new \One\One('http://{IP}:2633/RPC2', 'username:password');

```

**Call some method and get response** - `\One\Resource` class instance

```
try {
    $response = $client->vmpoolInfoextended(-1, -1, -1, -1, '');
} catch (Exception $e) {
    echo $e->getMessage(), "\n";
    exit(1);
}

```

**Work with response**
`\One\Resource` class instance is wrapper over [adbario/php-dot-notation](https://packagist.org/packages/adbario/php-dot-notation)

```
$vms = $response->get('VM');

echo "Total number of VMs is " , $vms->count() , "\n";

foreach($vms->all() as $vm) {
    if (!$vm->isEmpty('USER_TEMPLATE.LABELS')) {
        echo "VM ID ", $vm->get('ID'), " has label(s): ", $vm->get('USER_TEMPLATE.LABELS'), "\n";
    } else {
        echo "VM ID ", $vm->get('ID'), " doesn't have any labels.\n";
    }
}

```

**Index result array by specific subkey**

```
$vms = $response->getIndexedBy('ID', 'VM');
// get VM with ID 2403
$vm = $vms->get(2403);

```

**Working with ACL rules**

[Understanding ACL Rules](http://docs.opennebula.io/5.12/operation/users_groups_management/chmod.html#understanding-acl-rules)

```
// user readable acl rule
$aclRule = '@131 DATASTORE/%100 USE #0';

// parse rule to hex numbers
list($user, $resource, $rights, $zone) = \One\Acl::parseRule($aclRule);

// use hex in api call
$client->aclAddrule($user, $resource, $rights, $zone);

```

Development
-----------

[](#development)

To contribute bug patches or new features, you can use the github Pull Request model. It is assumed that code and documentation are contributed under the Apache License 2.0.

More info:

- Issues Tracking: [Github issues](https://github.com/FELDSAM-INC/one-php/issues)

Authors
-------

[](#authors)

- Leader: Kristian Feldsam ()

Support
-------

[](#support)

[FeldHost™ as OpenNebula Contributor](https://www.feldhost.net/products/opennebula) offers design, implementation, operation and management of a cloud solution based on OpenNebula.

###  Health Score

29

—

LowBetter than 59% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity17

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity57

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~73 days

Recently: every ~191 days

Total

13

Last Release

1180d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/7a7348aaea9028b3d014f6653c52c4e8ffe0658b1f8428199ca883750f439562?d=identicon)[feldsam](/maintainers/feldsam)

---

Top Contributors

[![feldsam](https://avatars.githubusercontent.com/u/951648?v=4)](https://github.com/feldsam "feldsam (36 commits)")

---

Tags

opennebulaphpphpxmlserializerOpenNebulaone

### Embed Badge

![Health badge](/badges/feldsam-inc-one-php/health.svg)

```
[![Health](https://phpackages.com/badges/feldsam-inc-one-php/health.svg)](https://phpackages.com/packages/feldsam-inc-one-php)
```

###  Alternatives

[goetas-webservices/xsd2php

Convert XSD (XML Schema) definitions into PHP classes and JMS metadata

2411.6M37](/packages/goetas-webservices-xsd2php)[goetas-webservices/xsd2php-runtime

Convert XSD (XML Schema) definitions into PHP classes

4910.9M36](/packages/goetas-webservices-xsd2php-runtime)[goetas/xsd2php-runtime

Convert XSD (XML Schema) definitions into PHP classes

493.3k](/packages/goetas-xsd2php-runtime)[bupy7/xml-constructor

The array-like constructor of XML document structure.

1337.9k](/packages/bupy7-xml-constructor)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
