lokalise / php-lokalise-api
Lokalise API client
Installs: 1 532 940
Dependents: 2
Suggesters: 0
Security: 0
Stars: 16
Watchers: 13
Forks: 11
Open Issues: 9
Requires
- php: >=7.4
- ext-fileinfo: *
- ext-json: *
- php-http/guzzle7-adapter: ^0.1.1 || ^1.0.0
Requires (Dev)
- guzzlehttp/psr7: ^1.2
- php-http/mock-client: ^1.0
- phpunit/phpunit: ^9.0
This package is auto-updated.
Last update: 2024-11-02 10:13:36 UTC
README
Client library for Lokalise API 2.0, written with PHP. Full API reference.
Changelog is located here.
Getting started
- PHP 7.4.x or greater is required
- Install LokaliseApiClient using Composer (recommended) or manually
Composer installation
- Get Composer
- Require LokaliseApiClient with
php composer.phar require lokalise/php-lokalise-api
- Add the following to your application's main PHP file:
require 'vendor/autoload.php';
Construct LokaliseApiClient
Create and grab your API token at Lokalise profile
$client = new \Lokalise\LokaliseApiClient($apiToken);
Request
Response
/** @var \Lokalise\LokaliseApiResponse $response */ $response = $client->languages->listSystem(); $response-> headers // Associative array of Lokalise headers received getContent() // Return response data as associative array __toArray() // getContent() alias. Return response data as associative array __toString() // Return JSON encoded response data getTotalCount() // Return total count of filtered items in List methods getPageCount() // Return count of pages in List methods (based on limit parameter) getPaginationLimit() // Return pagination limit used in the request getPaginationPage() // Return current page of the request getNextCursor() // Return next cursor for cursor based pagination hasNextCursor() // Return true if next cursor is present for cursor based pagination
Utils
\Lokalise\Utils:: base64FileEncode($filePath) // Get base64 encoded contents with leading mime type
Exceptions and errors
\Lokalise\Exceptions\LokaliseApiException // Exception throws when Lokalise API can't be reached using Guzzle \Lokalise\Exceptions\LokaliseResponseException // Exception throws when Lokalise API responded with a single error
Best practice
$client = new \Lokalise\LokaliseApiClient($apiToken); try { $language = $client->languages->retrieve($projectId, $languageId)->getContent(); } catch (\Lokalise\Exceptions\LokaliseApiException $e) { // try again later or break } catch (\Lokalise\Exceptions\LokaliseResponseException $e) { // Request cannot be completed. More details in {$e->getCode()} and {$e->getMessage()} // break }
Rate limits
Access to all endpoints is limited to 6 requests per second from 14 September, 2021. This limit is applied per API token and per IP address. If you exceed the limit, a 429 HTTP status code will be returned and the corresponding exception will be raised that you should handle properly. To handle such errors, we recommend an exponential backoff mechanism with a limited number of retries.
Only one concurrent request per token is allowed.