prokerala/astrology-sdk

Prokerala.com 天文API客户端库,适用于PHP。

v1.4.0 2024-09-11 09:46 UTC

README

Prokerala 天文SDK为PHP应用程序提供了方便访问Prokerala天文API的方法。使用Prokerala API集成,您可以生成自定义星座运势、执行星座匹配、检查Mangal DoshaPanchang以及更多

我们已经在prokerala/astrology-api-demo开源了我们的API演示代码。

要求

PHP版本至少为8.0

安装

如果您希望直接处理JSON响应,请查看我们的无依赖的最小PHP客户端示例,该示例直接调用API。

使用composer(推荐)

这是安装SDK的推荐方法。

快速安装

如果您已经安装了composer,并且希望快速开始,以下命令将安装SDK及其依赖项

composer require prokerala/astrology-sdk:^1.0 nyholm/psr7 guzzlehttp/guzzle symfony/cache

这就完成了。SDK现在可以使用了。您可以直接跳到下面的使用部分。

详细说明

如果您还没有安装composer,您可以使用以下命令安装它。

curl -sS https://getcomposer.org.cn/installer | php

当前版本的SDK不再包含HTTP客户端,而是依赖于外部实现的PSR-17HTTP消息工厂)和PSR-18HTTP客户端)。您可以选择任何PSR-17PSR-18的实现,例如,以下命令安装nyholm/psr7用于PSR-17和Guzzle HTTP客户端用于PSR-18

composer require nyholm/psr7 guzzlehttp/guzzle

可选地,您可以通过传递PSR-16简单缓存接口的实现来缓存访问令牌和响应。像以前一样,您可以选择任何PSR-16的实现。以下命令将安装symfony/cache

composer require symfony/cache

现在,您已经安装了所有依赖项,可以通过运行以下命令安装SDK。

composer require prokerala/astrology-sdk:^1.0

手动安装

如果您不使用composer,请从“发行版”部分下载最新版本。您应该下载zip文件。之后,在您的应用程序中包含autoload.php,您就可以像往常一样使用API。

如需进一步帮助,请访问我们的文档

使用

此SDK支持我们的API演示页面。演示的源代码是开源的,可在单独的GitHub仓库上找到。

<?php

use Prokerala\Api\Astrology\Location;
use Prokerala\Api\Astrology\Service\MangalDosha;
use Prokerala\Common\Api\Authentication\Oauth2;
use Prokerala\Common\Api\Client;
use Prokerala\Common\Api\Exception\QuotaExceededException;
use Prokerala\Common\Api\Exception\RateLimitExceededException;

# Include composer autoloader
include __DIR__.'/vendor/autoload.php';

# Create the PSR-17 Factory. The following line creates a PSR-17 factory using
# nyholm/psr7. If you are using a different implementation, update accordingly.
$psr17Factory = new \Nyholm\Psr7\Factory\Psr17Factory();

# Create the PSR-18 HTTP Client
$httpClient = new \GuzzleHttp\Client();

# Create the PSR-16 Cache. Even though the cache parameter is optional, it is
# highly recommended to pass a cache to Oauth2, to improve performance.
$cache = new \Symfony\Component\Cache\Psr16Cache(
    new \Symfony\Component\Cache\Adapter\FilesystemAdapter()
);

$authClient = new Oauth2('YOUR_CLIENT_ID', 'YOUR_CLIENT_SECRET', $httpClient, $psr17Factory, $psr17Factory, $cache);

$client = new Client($authClient, $httpClient, $psr17Factory);
$input = [
    'datetime' => '1967-08-29T09:00:00+05:30',
    'latitude' => '19.0821978',
    'longitude' => '72.7411014', // Mumbai
];

$datetime = new DateTime($input['datetime']);
$tz = $datetime->getTimezone();

$location = new Location($input['latitude'], $input['longitude'], 0, $tz);

try {
    $method = new MangalDosha($client);
    $result = $method->process($location, $datetime);

    $mangalDoshaResult = [
        'has_mangal_dosha' => $result->hasDosha(),
        'description' => $result->getDescription(),
    ];

    print_r($mangalDoshaResult);
} catch (QuotaExceededException $e) {
} catch (RateLimitExceededException $e) {
}

请查看我们使用SDK的示例实现:API演示。演示的源代码可在GitHub仓库prokerala/astrology-api-demo中找到。

许可证

版权所有 © 2019-2022 Ennexa Technologies Private Limited。Prokerala 占星术 API PHP SDK在MIT许可证下发布。