php-bitpay-client/docs/usage.md
Sam Bohler f9739d56b7 Autoloader Update
- Autoloader now loads relative to library root directory
- Added documentation for using the Autoloader class
2015-05-01 06:40:05 -05:00

2.8 KiB

Usage

Please make sure that you have Installed this library and have Configured it correctly. This section will help guide you on how to use this library.

Autoloader

To use the library's autoloader (which doesn't include composer dependencies) instead of composer's autoloader, use the following code:

<?php
$autoloader = __DIR__ . '/relative/path/to/Bitpay/Autoloader.php';
if (true === file_exists($autoloader) &&
    true === is_readable($autoloader))
{
    require_once $autoloader;
    \Bitpay\Autoloader::register();
} else {
    throw new Exception('BitPay Library could not be loaded');
}

Dependency Injection

This library relies heavily on what is known as Dependency Injection and this is helped using the Bitpay\Bitpay class and the Dependency Injection Component provided by Symfony. It might be helpful to read a little on these.

Services

Inside the container there are a few services that will help you develop your application to work with BitPay. For example, the client service allows you to make requests to our API and receive responses back without having to do too much work.

You can see a list of services you have access to by checking out the services.xml file.

To gain access to any of these services, you first need to instantiate the Bitpay class with your configuration options.

$bitpay = \Bitpay\Bitpay($configuration);

Note

configuration is either the path to a yaml file or an array of configuration options.

Sending your own Requests

You can easily send your own requests to BitPay's API with a little work. For all the requests you can make, please see the API Documentation on the website.

To get started you need to create your Request

$request = new \Bitpay\Client\Request();

This is the object that you will pass to the Client.

$request->setHost('https://bitpay.com');
$request->setMethod(Request::METHOD_GET);
$request->setPath('/invoices/InvoiceIdHere');

$client = $bitpay->get('client');

// @var Bitpay\Client\ResponseInterface
$response = $client->sendRequest($request);

That's all there is to it. Just make your Request object and have the Client send it. You'll get a Response object in return which you can use to do whatever it is you need to do.