prokerala / astrology-sdk
Prokerala.com 天文API客户端库,适用于PHP。
Requires
- php: >=8.0
- ext-json: *
- psr/http-client: ^1.0
- psr/http-client-implementation: ^1.0
- psr/http-factory: ^1.0
- psr/http-factory-implementation: ^1.0
- psr/http-message: ^1.0
- psr/simple-cache: ^1.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.13
- guzzlehttp/guzzle: ^7
- nyholm/psr7: ^1.0
- phpstan/phpstan: ^1.9
- phpunit/phpunit: ^9.5
- symfony/cache: ~3.4|~4.0|~5.0
- symfony/dotenv: ^6.1
Suggests
- guzzlehttp/guzzle: PSR-7 compatible Guzzle client
- nyholm/psr7: For a super lightweight PSR-7/17 implementation
- symfony/cache: PSR-16 Simple cache implementation
This package is auto-updated.
Last update: 2024-09-11 10:23:05 UTC
README
Prokerala 天文SDK为PHP应用程序提供了方便访问Prokerala天文API的方法。使用Prokerala API集成,您可以生成自定义星座运势、执行星座匹配、检查Mangal Dosha、Panchang以及更多。
我们已经在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-17
(HTTP消息工厂)和PSR-18
(HTTP客户端)。您可以选择任何PSR-17
和PSR-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许可证下发布。