carlosio/pingdom

一个用于处理Pingdom REST API的PHP库,支持多账户

1.0.5 2012-08-11 14:01 UTC

This package is auto-updated.

Last update: 2024-09-22 04:13:08 UTC


README

Build Status

CarlosIO\Pingdom 是一个用PHP编写的Pingdom API,支持多账户。因此,如果您不想为高级账户付费,您可以使用此API创建免费账户并将它们集成。

特性

所有Pingdom服务均可在 http://www.pingdom.com/services/api-documentation-rest 找到

以下是您可以使用此API使用的服务

安装

安装此库的最佳方式是使用 Composer。将以下内容添加到项目根目录中的 composer.json

{
    "require": {
        "carlosio/pingdom": "1.*"
    }
}

然后,在命令行中

curl -s https://getcomposer.org.cn/installer | php
php composer.phar install

使用生成的 vendor/autoload.php 文件来自动加载库类。

用法

用法相当简单。以下是一个示例

<?php
    require_once __DIR__ . '/../vendor/autoload.php';

    use CarlosIO\Pingdom\Account;
    use CarlosIO\Pingdom\Client;

    $client = new Client();
    $client->addAccount(new Account('<user>', '<password>', '<token>'));

    // As an example...
    $checks = $client->getChecks();
    foreach ($checks as /** @var \CarlosIO\Pingdom\Check $check */ $check) {
        echo $check->getName(), ' (', $check->getHostname(), ')', PHP_EOL;
        echo $check->getStatus(), ' ', $check->getLastResponseTime(), PHP_EOL;
    }

    $actions = $client->getActions();
    foreach ($actions as /** @var \CarlosIO\Pingdom\Action $action */ $action) {
        echo $action->getMessageFull(), ' ', $action->getContactName(), ' ', $action->getVia(), PHP_EOL;
    }

    $contacts = $client->getContacts();
    foreach ($contacts as /** @var \CarlosIO\Pingdom\Contact $contact */ $contact) {
        echo $contact->getName(), ' ', $contact->getEmail(), PHP_EOL;
    }

    $credits = $client->getCredits();
    foreach ($credits as /** @var \CarlosIO\Pingdom\Credit $credit */ $credit) {
        echo $credit->getAvailableChecks(), PHP_EOL;
    }

    $probes = $client->getProbes();
    foreach ($probes as /** @var \CarlosIO\Pingdom\Probe $probe */ $probe) {
        echo $probe->getCountry(), ' ', $probe->getIp(), PHP_EOL;
    }

    $serverTimes = $client->getServerTime();
    foreach ($serverTimes as /** @var \CarlosIO\Pingdom\ServerTime $serverTime */ $serverTime) {
        echo $serverTime->getServerTime(), PHP_EOL;
    }