bcdh/laravel-exist-db-client
Composer 安装命令:
composer require bcdh/laravel-exist-db-client
包简介
A client that abstracts out the XML RPC calls for eXist-db for Laravel 5
关键字:
README 文档
README
A Laravel 5 package that abstracts out the XML RPC calls for eXist-db. Based on php-eXist-db-Client.
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
####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
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
-
Query::setStringReturnType() result is instance of DOMElement
-
Query::setSimpleXMLReturnType() result is instance of SimpleXMLElement
-
Query::setDomXMLReturnType() result is string
Get result field
- DomXmlResult
$document = $result->getDocument(); $title = $doc->getElementsByTagName('TITLE')->item(0)->nodeValue;
- SimpleXML
$document = $result->getDocument(); $title = $doc->TITLE;
Get result attribute
- DomXmlResult
$document = $result->getDocument(); $isFavorite = $doc->hasAttribute('favourite');
- SimpleXML
$document = $result->getDocument(); $attributes = $document->attributes(); $isFavorite = isset($attributes['favourite']);
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');
统计信息
- 总下载量: 23
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 4
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: GPL-2.0
- 更新时间: 2016-04-20