cleverage / php-trac
查询 Trac RPC 的 API
1.0.1
2015-01-26 16:27 UTC
Requires
- php: >=5.3
- symfony/options-resolver: >=2.3
Suggests
- guzzle/guzzle: v3.7.4
- kriswallsmith/buzz: dev-master
This package is auto-updated.
Last update: 2024-08-29 04:14:22 UTC
README
#CleverAge\Trac
PHP 5.3+ 接口,通过 TRAC 的 RPC
api 查询。实际使用的是 JSON
版本。
安装
使用 composer: php composer.phar require "cleverage/php-trac": "dev-master"
它需要 Buzz(默认使用 Curl)或 Guzzle 来进行 HTTP 查询。
兼容性
与 Trac 0.12 和 API 版本 1.1.2-r12546 进行了测试。
##示例
$tracOptions = array(
'url' => 'http://www.mytrac.org',
);
$client = new \CleverAge\Trac\HttpClient\Guzzle\GuzzleHttpClient();
// $client = new \CleverAge\Trac\HttpClient\Buzz\BuzzHttpClient();
$trac = new \CleverAge\Trac\TracApi($tracOptions, $client);
$ticket = $trac->getTicketById(101);
echo $ticket->id. ' : '.$ticket->status;
$tickets = $trac->getTicketByStatus($status='closed', $limit=100);
foreach ($tickets as $ticket) {
echo $ticket->id. ' : '.$ticket->status;
}
选项
url
(必需): Trac 的主 URLticket.class
: 获取票据时使用的类对象。默认是CleverAge\Trac\Ticket
。auth
: 支持 none 和 Basic http。使用CleverAge\Trac\TracApi::AUTH_*
常量,默认是AUTH_NONE
。- 如果
auth
是AUTH_BASIC
,则必须提供user.login
和user.password
。
- 如果
性能
如果你使用 Guzzle HttpClient,一些请求是并行化的,所以它提高了性能,使用了 MultiCurl。
$tracOptions = array(
'url' => 'http://www.mytrac.org',
);
$client = new \CleverAge\Trac\HttpClient\Guzzle\GuzzleHttpClient();
$client->setParallelLimit(10); // default is 5
$trac = new \CleverAge\Trac\TracApi($tracOptions, $client);
$tickets = $trac->getManyTicketsByIds(array(100, 101, 102, 103));
foreach ($tickets as $ticket) {
echo $ticket->id. ' : '.$ticket->status;
}