cleverage/php-trac

查询 Trac RPC 的 API

1.0.1 2015-01-26 16:27 UTC

This package is auto-updated.

Last update: 2024-08-29 04:14:22 UTC


README

#CleverAge\Trac

PHP 5.3+ 接口,通过 TRACRPC 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 的主 URL
  • ticket.class: 获取票据时使用的类对象。默认是 CleverAge\Trac\Ticket
  • auth: 支持 noneBasic http。使用 CleverAge\Trac\TracApi::AUTH_* 常量,默认是 AUTH_NONE
    • 如果 authAUTH_BASIC,则必须提供 user.loginuser.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;
}