PHPackages                             cleverage/php-trac - 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. [API Development](/categories/api)
4. /
5. cleverage/php-trac

ActiveLibrary[API Development](/categories/api)

cleverage/php-trac
==================

Api for querying Trac RPC

1.0.1(11y ago)2411MITPHPPHP &gt;=5.3

Since Dec 2Pushed 11y ago52 watchersCompare

[ Source](https://github.com/cleverage/php-trac)[ Packagist](https://packagist.org/packages/cleverage/php-trac)[ Docs](https://github.com/cleverage/php-trac)[ RSS](/packages/cleverage-php-trac/feed)WikiDiscussions master Synced 4d ago

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

\#CleverAge\\Trac

Interface PHP 5.3+ to query [TRAC](http://trac.edgewall.org/) via its `RPC` api. `JSON` version is actually used.

Installation
------------

[](#installation)

With composer : `php composer.phar require "cleverage/php-trac": "dev-master"`

It needs Buzz (default with Curl) or Guzzle to proceed HTTP queries.

Compatibility
-------------

[](#compatibility)

Tested with Trac 0.12 and API version 1.1.2-r12546.

\##Exemples

```
$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;
}

```

Options
-------

[](#options)

- `url` (**required**): The trac main url
- `ticket.class`: The class object to use when getting tickets. Default is `CleverAge\Trac\Ticket`.
- `auth`: Supports **none** and **Basic http**. Use `CleverAge\Trac\TracApi::AUTH_*` constants, default is `AUTH_NONE`.
    - if `auth` is `AUTH_BASIC`, then you must provide `user.login` and `user.password`.

Performances
------------

[](#performances)

If you use Guzzle HttpClient, some requests are parallelized, so it improves performances, using 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;
}

```

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity59

Maturing project, gaining track record

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 ~419 days

Total

2

Last Release

4127d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/4d408c6ae2e5f73eff1f279b35eb21009d7ded0b4c1f97f8ca45dca4a21f3911?d=identicon)[Clever Age](/maintainers/Clever%20Age)

---

Tags

phptrac

### Embed Badge

![Health badge](/badges/cleverage-php-trac/health.svg)

```
[![Health](https://phpackages.com/badges/cleverage-php-trac/health.svg)](https://phpackages.com/packages/cleverage-php-trac)
```

###  Alternatives

[php-tmdb/api

PHP wrapper for TMDB (TheMovieDatabase) API v3. Supports two types of approaches, one modelled with repositories, models and factories. And the other by simple array access to RAW data from The Movie Database.

424378.6k16](/packages/php-tmdb-api)[wtfzdotnet/php-tmdb-api

PHP wrapper for TMDB (TheMovieDatabase) API v3. Supports two types of approaches, one modelled with repositories, models and factories. And the other by simple array access to RAW data from The Movie Database.

4282.9k](/packages/wtfzdotnet-php-tmdb-api)

PHPackages © 2026

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