geotab/mygeotab-php

MyGeotab API 的非官方 PHP 客户端

1.2.1 2023-04-26 17:55 UTC

This package is not auto-updated.

Last update: 2024-09-26 01:20:23 UTC


README

Build Status Packagist

提供 PHP 客户端,可轻松向 MyGeotab 服务器发送 API 请求。

安装

您可以使用 composer 并在您的仓库中运行以下命令

composer require mygeotab-php

此仓库需要 PHP >=7.1,但如果您想将其集成到旧版本中,可以直接查看 src 目录中的代码。

快速入门

$api = new Geotab\API("user@example.com", "password", "DatabaseName", "my.geotab.com");
$api->authenticate();

$api->get("Device", ["resultsLimit" => 1], function ($results) {
    var_dump($results);
}, function ($error) {
    var_dump($error);
});

您可以直接使用返回结果,而不是使用回调语法。请注意,如果发生错误,您将不会收到通知!它将作为 MyGeotabException 抛出,所以请记住使用 try & catch。

$toDate = new DateTime();
$fromDate = new DateTime();
$fromDate->modify("-1 month");

try {
    $violations = $api->get("DutyStatusViolation", [
        "search" => [
            "userSearch" => ["id" => "b1"],
            "toDate" => $toDate->format("c"),   // ISO8601, or could use "2018-11-03 00:53:29.370134"
            "fromDate" => $fromDate->format("c")
        ],
        "resultsLimit" => 10
    ]);
} catch (Exception $e) {
    // Handle this or return
}

echo "The driver has " . count($violations) . " violations!";

示例

examples 文件夹中,您可以查看在 Dev Channel 视频中 展示的“最严重超速违规”示例。代码尚未与 Node 服务器连接,可能难以与 PSR 配合,但代码已经存在,应该容易理解。

技巧:PHP-CGI NodeJS 服务器

如果您已安装 PHP-CGI 处理器,您可以使用 NodeJS 中的 server.js 运行一个简单的 Web 服务器。我发现这比设置复杂的 Web 服务器在 Windows 上更快更简单。

首先,在您的机器上找到 php-cgi 可执行文件(例如,C:\Program Files\PHP\v7.2\php-cgi.exe)并将其放在该文件中。然后运行

npm install
node server.js

现在应访问 localhost:8080/sample.php,然后 voila - 您现在正在使用 NodeJS 服务器提供 PHP 服务!