PHP Classes
elePHPant
Icontem

PHP Forex Quotes: Get foreign exchange rates quotes for currencies

Recommend this page to a friend!
  Info   View files Documentation   View files View files (7)   DownloadInstall with Composer Download .zip   Reputation   Support forum   Blog    
Last Updated Ratings Unique User Downloads Download Rankings
2018-01-22 (11 hours ago) RSS 2.0 feedNot enough user ratingsTotal: 32 All time: 9,111 This week: 344Up
Version License PHP version Categories
forexquotes 1.0MIT/X Consortium ...5.4Finances, PHP 7
Description Author

This package can get foreign exchange rates quotes for currencies.

It can send HTTP requests to the 1forge.com API to get the list of supported currency symbols.

The class can also get quotes for exchange of given currencies.

  Performance   Level  
Name: Jacob Davis <contact>
Classes: 1 package by
Country: United States United States
Age: ???
All time rank: 4157467 in United States United States
Week rank: 956 Up97 in United States United States Up

Details

php-forex-quotes

php-forex-quotes is a PHP Library for fetching realtime forex quotes. See the examples for REST and WebSocket implementation in the /examples folder.

Table of Contents

Requirements

  • PHP >= 5.6.4
  • An API key which you can obtain for free at http://1forge.com/forex-data-api

Installation

composer require oneforge/forexquotes

Or in your composer.json

"require": {
    "oneforge/forexquotes": "2.0.5"
},

Usage

Instantiate the client

<?php

use OneForge\ForexQuotes\ForexDataClient;

//You can get an API key for free at 1forge.com
$client = new ForexDataClient('YOUR_API_KEY');

Get the list of available symbols:

$client->getSymbols(); 

Get quotes for specified symbols:

$client->getQuotes([
    'AUDUSD',
    'GBPJPY'
]);

Convert from one currency to another:

$client->convert('USD', 'EUR', 100);

Check if the market is open:

if ($client->marketIsOpen())
{
    echo "Market is open";    
}

Check your usage / quota limit:

$client->quota();

Stream quote updates:

WebSocket quote streaming is only available on paid plans.

//Handle incoming price updates from the server
$client->onUpdate(function($symbol, $data)
{
    echo $symbol . ": " . $data["bid"] . " " .$data["ask"] . " " . $data["price"]."\n";
});

//Handle non-price update messages
$client->onMessage(function($message)
{
    echo $message;
});

//Connect to the server
$client->connect(function($client)
{
    //Subscribe to a single currency pair
    $client->subscribeTo('EURUSD');

    //Subscribe to an array of currency pairs
    $client->subscribeTo([
        'GBPJPY',
        'AUDCAD',
        'EURCHF'
    ]);

    //Subscribe to all currency pairs
    $client->subscribeToAll();

    //Unsubscribe from a single currency pair
    $client->unsubscribeFrom('EURUSD');

    //Unsubscribe from an array of currency pairs
    $client->unsubscribeFrom([
        'GBPJPY',
        'AUDCAD',
        'EURCHF'
    ]);

    //Unsubscribe from all currency pairs
    $client->unsubscribeFromAll();

});

Contributing

Thank you for considering contributing! Any issues, bug fixes, suggestions, improvements or help in any other way is always appreciated. Please feel free to open an issue or create a pull request.

Support and Contact

Please contact me at contact@1forge.com if you have any questions or requests.

License and Terms

This library is provided without warranty under the MIT license.

  Files folder image Files  
File Role Description
Files folder imageexamples (2 files)
Files folder imagelib (1 file)
Accessible without login Plain text file composer.json Data Auxiliary data
Accessible without login Plain text file composer.lock Data Auxiliary data
Accessible without login Plain text file LICENSE.md Lic. License text
Accessible without login Plain text file README.md Doc. Documentation

  Files folder image Files  /  examples  
File Role Description
  Accessible without login Plain text file REST-example.php Example Example script
  Accessible without login Plain text file websocket-example.php Example Example script

  Files folder image Files  /  lib  
File Role Description
  Accessible without login Plain text file ForexDataClient.php Class Class source

 Version Control Unique User Downloads Download Rankings  
 100%
Total:32
This week:0
All time:9,111
This week:344Up