PHPackages                             bcdh/laravel-exist-db-client - 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. bcdh/laravel-exist-db-client

ActiveLibrary

bcdh/laravel-exist-db-client
============================

A client that abstracts out the XML RPC calls for eXist-db for Laravel 5

v1.0.1(10y ago)423GPL-2.0PHPPHP ~5.5|~7.0

Since May 2Pushed 9y ago4 watchersCompare

[ Source](https://github.com/BCDH/Laravel-eXist-db-Client)[ Packagist](https://packagist.org/packages/bcdh/laravel-exist-db-client)[ Docs](https://github.com/bcdh/laravel-exist-db-client)[ RSS](/packages/bcdh-laravel-exist-db-client/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (1)DependenciesVersions (3)Used By (0)

eXist-db Client for Laravel 5
=============================

[](#exist-db-client-for-laravel-5)

A Laravel 5 package that abstracts out the XML RPC calls for [eXist-db](http://exist-db.org/exist/apps/homepage/index.html). Based on [php-eXist-db-Client](https://github.com/CuAnnan/php-eXist-db-Client).

Requirements:
-------------

[](#requirements)

- Laravel 5
- PHP 5.5 or PHP 7
- PEAR 1.10

```
sudo apt-get install php-pear
sudo pear channel-update pear.php.net
```

- PHP XSLT extension

```
sudo apt-get install php5-xsl
```

Installing
----------

[](#installing)

\####1. Add the service provider to your config/app.php:

```
BCDH\ExistDbClient\ExistDbServiceProvider::class

```

\####2. Publish your configuration file:

```
php artisan vendor:publish

```

\####3. Edit your connection credentials in `config/exist-db.php`

```
[
    'protocol'  => "http",
    'user'      => "admin",
    'password'  => "admin",
    'host'      => "localhost",
    'port'      => 8080,
    'path'      => "/exist/xmlrpc/",
]

```

Usage
-----

[](#usage)

```
use BCDH\ExistDbClient\ExistDbClient;

$connection = new ExistDbClient();

$stmt = $connection->prepareQuery('for $someNode in collection("/SomeCollection")/someNodeName[./somePredicateAttribute=$someValueToBeBound] return $someNode');
$stmt->setSimpleXMLReturnType();
$stmt->bindVariable('someValueToBeBound', '5');

$resultPool = $stmt->execute();
$result = $resultPool->getAllResults();

foreach($result as $xml) {
    var_dump($xml->somePredicateAttribute);
}
```

Return types
------------

[](#return-types)

- Query::setStringReturnType() result is instance of [DOMElement](http://php.net/manual/en/class.domelement.php)
- Query::setSimpleXMLReturnType() result is instance of [SimpleXMLElement](http://php.net/manual/en/class.simplexmlelement.php)
- Query::setDomXMLReturnType() result is string

#### Get result field

[](#get-result-field)

- DomXmlResult

```
$document = $result->getDocument();
$title = $doc->getElementsByTagName('TITLE')->item(0)->nodeValue;
```

- SimpleXML

```
$document = $result->getDocument();
$title = $doc->TITLE;
```

#### Get result attribute

[](#get-result-attribute)

- DomXmlResult

```
$document = $result->getDocument();
$isFavorite = $doc->hasAttribute('favourite');
```

- SimpleXML

```
$document = $result->getDocument();
$attributes = $document->attributes();
$isFavorite = isset($attributes['favourite']);
```

XLS transformations
-------------------

[](#xls-transformations)

- Single result (DomXmlResult|SimpleXmlResult)

```
$resultPool = $stmt->execute();
$results = $resultPool->getAllResults();
$res = $results[0];

$html = $res->transform(__DIR__.'/xml/cd_catalog_simplified.xsl');
```

- ResultSet

```
$resultPool = $stmt->execute();
$results = $resultPool->getAllResults();
$rootTagName = 'catalog';

$html = $resultPool->transform($rootTagName, $results, __DIR__.'/xml/cd_catalog_simplified.xsl');
```

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity59

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 66.7% 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

Unknown

Total

1

Last Release

3651d ago

### Community

---

Top Contributors

[![zilbertrubb](https://avatars.githubusercontent.com/u/15800940?v=4)](https://github.com/zilbertrubb "zilbertrubb (12 commits)")[![ttasovac](https://avatars.githubusercontent.com/u/5304839?v=4)](https://github.com/ttasovac "ttasovac (6 commits)")

### Embed Badge

![Health badge](/badges/bcdh-laravel-exist-db-client/health.svg)

```
[![Health](https://phpackages.com/badges/bcdh-laravel-exist-db-client/health.svg)](https://phpackages.com/packages/bcdh-laravel-exist-db-client)
```

PHPackages © 2026

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