PHPackages                             f21/dnsmadeeasy - 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. f21/dnsmadeeasy

ActiveLibrary[API Development](/categories/api)

f21/dnsmadeeasy
===============

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

1.3.0(5y ago)1715.4k↓41.7%15Apache-2.0PHPPHP &gt;=5.4.0

Since May 24Pushed 5y ago3 watchersCompare

[ Source](https://github.com/F21/DNSMadeEasy)[ Packagist](https://packagist.org/packages/f21/dnsmadeeasy)[ Docs](https://github.com/F21/DNSMadeEasy)[ RSS](/packages/f21-dnsmadeeasy/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (5)DependenciesVersions (13)Used By (0)

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

[](#php-library-for-dnsmadeeasys-api-v20)

---

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.

All operations for the v2.0 API is supported and implemented.

At the moment, my needs are pretty simple, so the low-level operations suits me just fine 😄

I have taken inspiration from the [v1.2 library](https://github.com/a1extran/DnsMadeEasy) and most operations should pretty much be drop-in, although some operations will need you to update your code a bit.

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.

### Getting Started

[](#getting-started)

---

#### Autoloading

[](#autoloading)

Simply include `Autoloader.php` and initialise it:

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

#### Using the library

[](#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.

Here's a simple example:

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

[](#debugging)

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

To enable:

```
$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.

### Testing

[](#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](https://github.com/thoughtbot/fake_braintree), so that it is easier to test the resources and also, so that we can run tests on Travis.*

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

```
export APIKEY=my_api_key
export SECRETKEY=my_secret_key
```

Then, simply go into the `tests` folder and run `phpunit`:

```
cd tests
phpunit

```

###  Health Score

38

—

LowBetter than 85% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity36

Limited adoption so far

Community19

Small or concentrated contributor base

Maturity65

Established project with proven stability

 Bus Factor1

Top contributor holds 79.4% of commits — single point of failure

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

Recently: every ~148 days

Total

11

Last Release

1946d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/5c54bc0cc2cfab1c497808d2d3cd21b4bafdbf8a5fa0a3ff79eda715c0f12ee8?d=identicon)[F21](/maintainers/F21)

---

Top Contributors

[![F21](https://avatars.githubusercontent.com/u/2263040?v=4)](https://github.com/F21 "F21 (27 commits)")[![pablohaedo](https://avatars.githubusercontent.com/u/948782?v=4)](https://github.com/pablohaedo "pablohaedo (2 commits)")[![anashamidkh](https://avatars.githubusercontent.com/u/17166951?v=4)](https://github.com/anashamidkh "anashamidkh (1 commits)")[![xiongchiamiov](https://avatars.githubusercontent.com/u/23369?v=4)](https://github.com/xiongchiamiov "xiongchiamiov (1 commits)")[![xpert6](https://avatars.githubusercontent.com/u/26963654?v=4)](https://github.com/xpert6 "xpert6 (1 commits)")[![lgrassini](https://avatars.githubusercontent.com/u/5750506?v=4)](https://github.com/lgrassini "lgrassini (1 commits)")[![dmftaras](https://avatars.githubusercontent.com/u/2745744?v=4)](https://github.com/dmftaras "dmftaras (1 commits)")

---

Tags

phpapiDNSMadeEasy

### Embed Badge

![Health badge](/badges/f21-dnsmadeeasy/health.svg)

```
[![Health](https://phpackages.com/badges/f21-dnsmadeeasy/health.svg)](https://phpackages.com/packages/f21-dnsmadeeasy)
```

###  Alternatives

[jstolpe/instagram-graph-api-php-sdk

Instagram Graph API PHP SDK

13998.4k2](/packages/jstolpe-instagram-graph-api-php-sdk)

PHPackages © 2026

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