tldev-de / mygeotab-php
MyGeotab API的非官方PHP客户端的不官方分支
1.1.5
2021-09-08 12:27 UTC
Requires
- php: >=7.1.0
- ext-json: *
- guzzlehttp/guzzle: ^7.0
- monolog/monolog: ^2
Requires (Dev)
- phpunit/phpunit: ^7
README
⚠️ 这是对非官方PHP API客户端的不官方分支。它与非官方的PHP客户端相同,除了某些依赖项的版本(guzzlehttp/guzzle和monolog/monolog)以使其与现代PHP应用程序兼容。
提供易于向MyGeotab服务器发送API请求的PHP客户端。
安装
您可以使用composer并在您的仓库中运行以下命令
composer install 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
文件夹中,您可以查看在开发频道视频中展示的“最高速度违规”示例。代码尚未与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服务!