olehlytiuha / geo-time
PSR-20 ClockInterface based on IP geolocation timezone (Laravel Implementation)
Installs: 1
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/olehlytiuha/geo-time
Requires
- php: >=8.2
- guzzlehttp/guzzle: ^7.9
- jms/serializer: ^3.32
- laravel/framework: ^10.0
- psr/clock: ^1.0
- vlucas/phpdotenv: ^5.6
Requires (Dev)
- phpunit/phpunit: ^11.5
This package is auto-updated.
Last update: 2025-12-26 07:17:41 UTC
README
// README.md (excerpt)
Geo Clock (Laravel Package)
This package implements a PSR-20 ClockInterface using geolocation time detection.
Requirements
- PHP >= 8.2
- Laravel Framework >= 10.x
Installation
composer require paynoomo/geo-clock
Configuration
php artisan vendor:publish --tag=geo-clock-config
Edit .env:
GEO_TIMEZONE_API_URL=https://timeapi.io/api/Time/current/ip GEO_TIMEZONE_API_KEY=your-key-if-needed
How to obtain an API Key
To use ipgeolocation.io, follow these steps:
- Go to https://ipgeolocation.io and Sign Up.
- Log in to your dashboard.
- Navigate to: https://app.ipgeolocation.io/requestApiLogs
- Your API Key will be visible in the top right corner or under the "API Key" section.
- Copy and paste it into your
.envfile:
GEO_TIMEZONE_API_URL=https://api.ipgeolocation.io/timezone GEO_TIMEZONE_API_KEY=your-api-key-here
⚠️ Do not commit your
.envfile with secrets to version control.
Usage
use GeoTimezone\Interfaces\GeoClientInterface; public function __construct(GeoClientInterface $geoClient) { $time = $geoClient->getLocalTimeByIp('8.8.8.8'); }
Testing
composer test