cdaguerre / php-trello-api

A simple Object Oriented wrapper for the Trello API, written in PHP5.
http://cdaguerre.github.io/php-trello-api
MIT License
255 stars 121 forks source link

PHP Trello API v2 client

Build Status Code Coverage Code Quality Packagist

A simple Object Oriented wrapper for the Trello API, written in PHP7.4.

Uses Trello API v1. The object API is very similar to the RESTful API.

Features

Requirements

Installation

The recommended way is using composer:

$ composer require matteocacciola/php-trello-api

However, php-trello-api follows the PSR-0 naming conventions, which means you can easily integrate php-trello-api class loading in your own autoloader.

Basic usage

use Trello\Client;

$client = new Client();
$client->authenticate('api_key', 'token', Client::AUTH_URL_CLIENT_ID);

$boards = $client->api('member')->boards()->all();

The $client object gives you access to the entire Trello API.

Advanced usage with the Trello manager

This package includes a simple model layer above the API with a nice chainable API allowing following manipulation of Trello objects:

use Trello\Client;
use Trello\Manager;

$client = new Client();
$client->authenticate('api_key', 'token', Client::AUTH_URL_CLIENT_ID);

$manager = new Manager($client);

$card = $manager->getCard('547440ad3f8b882bc11f0497');

$card
    ->setName('Test card')
    ->setDescription('Test description')
    ->save();

Dispatching Trello events to your app

The service uses the Symfony EventDispatcher component to dispatch events occuring on incoming webhooks.

Take a look at the Events class constants for names and associated event classes.

use Trello\Client;
use Trello\Service;
use Trello\Events;

$client = new Client();
$client->authenticate('api_key', 'token', Client::AUTH_URL_CLIENT_ID);

$service = new Service($client);

// Bind a callable to a given event...
$service->addListener(Events::BOARD_UPDATE, function ($event) {
    $board = $event->getBoard();

    // do something
});

// Check if the current request was made by a Trello webhook
// This will dispatch any Trello event to listeners defined above
$service->handleWebhook();

Documentation

Contributing

Feel free to make any comments, file issues or make pull requests.

License

php-trello-api is licensed under the MIT License - see the LICENSE file for details

Credits