2017 © Pedro Peláez
 

library dnsmadeeasy

A simple php library to work with DNSMadeEasy's API v2.0

image

f21/dnsmadeeasy

A simple php library to work with DNSMadeEasy's API v2.0

  • Saturday, December 5, 2015
  • by F21
  • Repository
  • 3 Watchers
  • 17 Stars
  • 1,361 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 8 Forks
  • 1 Open issues
  • 8 Versions
  • 22 % Grown

The README.md

### PHP Library for DNSMadeEasy's API V2.0

This is a simple PHP library to work with DNSMadeEasy's v2.0 API. The operations are pretty low-level, although if required, I hope the community can work together to build a version that abstracts away most of the low-level operations., (*1)

All operations for the v2.0 API is supported and implemented., (*2)

At the moment, my needs are pretty simple, so the low-level operations suits me just fine :smile:, (*3)

I have taken inspiration from the v1.2 library and most operations should pretty much be drop-in, although some operations will need you to update your code a bit., (*4)

I have also done some testing and experimenting as DME's API documents are sorely lacking in certain areas and seems to be missing some operations, so most of those operations have been implemented., (*5)

### Getting Started

Autoloading

Simply include Autoloader.php and initialise it:, (*6)

require_once 'path/to/DNSMadeEasy/Autoloader.php';
DNSMadeEasy\Autoloader::init();

Using the library

The operations are all contained in the resource classes. Look for them inside the resource folder. If a body is available, the library tries to decode the JSON object, so you can access the object directly under the body property., (*7)

Here's a simple example:, (*8)

$client = new DNSMadeEasy\Client('myapikey', 'mysecretkey', true); //The last parameter says to use the sandbox
$result = $client->domains()->add('testdomain.com');

if($result->success){
  //yay!
  var_dump($result->statusCode);
  var_dump($result->body);
}else{
  //:(
  var_dump($result->errors);
}

$result2 = $client->domains()->update($result->body->id, array('gtdEnabled' => true)); //Enable global traffic direct for that domain

if($result2->success){
  //yay!
}else{
  //:(
}

Debugging

The library contains a nice debugger so that you can see the requests sent to the server and the corresponding response., (*9)

To enable:, (*10)

$client->debug(true);

The client will then produce some HTML output showing the request and the response. This feature is best used when testing in a browser., (*11)

### Testing

Note: I started writing tests for the resources class (classes that represents DME operations like domains, records etc), however, I had lots of problems trying to get them to work against DME's sandbox. Mainly because things like adding and deleting domains would take a long time for a unit test. Deleting domains would also not delete immediately, and I have deleted domains stuck in my account for more than a few days. I have stopped working on those tests for now, but contributions and pull request are certainly much appreciated! I hope that someone can build a fake_DME like fake_braintree, so that it is easier to test the resources and also, so that we can run tests on Travis., (*12)

To run the tests, you need to set some environment variables. On Linux, you can set them this way:, (*13)

export APIKEY=my_api_key
export SECRETKEY=my_secret_key

Then, simply go into the tests folder and run phpunit:, (*14)

cd tests
phpunit

The Versions

05/12 2015

dev-master

9999999-dev https://github.com/F21/DNSMadeEasy

A simple php library to work with DNSMadeEasy's API v2.0

  Sources   Download

Apache-2.0

The Requires

  • php >=5.4.0

 

api php dnsmadeeasy

26/07 2014

dev-devel

dev-devel https://github.com/F21/DNSMadeEasy

A simple php library to work with DNSMadeEasy's API v2.0

  Sources   Download

Apache-2.0

The Requires

  • php >=5.4.0

 

api php dnsmadeeasy

26/07 2014

1.0.5

1.0.5.0 https://github.com/F21/DNSMadeEasy

A simple php library to work with DNSMadeEasy's API v2.0

  Sources   Download

Apache-2.0

The Requires

  • php >=5.4.0

 

api php dnsmadeeasy

23/07 2014

1.0.4

1.0.4.0 https://github.com/F21/DNSMadeEasy

A simple php library to work with DNSMadeEasy's API v2.0

  Sources   Download

Apache-2.0

The Requires

  • php >=5.4.0

 

api php dnsmadeeasy

29/04 2014

1.0.3

1.0.3.0 https://github.com/F21/DNSMadeEasy

A simple php library to work with DNSMadeEasy's API v2.0

  Sources   Download

Apache-2.0

The Requires

  • php >=5.4.0

 

api php dnsmadeeasy

27/12 2013

1.0.2

1.0.2.0 https://github.com/F21/DNSMadeEasy

A simple php library to work with DNSMadeEasy's API v2.0

  Sources   Download

Apache-2.0

The Requires

  • php >=5.4.0

 

api php dnsmadeeasy

17/09 2013

1.0.1

1.0.1.0 https://github.com/F21/DNSMadeEasy

A simple php library to work with DNSMadeEasy's API v2.0

  Sources   Download

Apache-2.0

The Requires

  • php >=5.4.0

 

api php dnsmadeeasy

24/05 2013

1.0.0

1.0.0.0 https://github.com/F21/DNSMadeEasy

A simple php library to work with DNSMadeEasy's API v2.0

  Sources   Download

Apache-2.0

The Requires

  • php >=5.4.0

 

api php dnsmadeeasy