Lingara Lingara Belge Rêbername API Pirtûkxane Sepan Avakirin Sepana webê
Ziman: Kurdî

PHP

Ev rûpel ji Îngilîzî hatiye wergerandin. Heke her du ji hev cuda bin, rûpela Îngilîzî rast e. Rûpela Îngilîzî bixwîne

Pirtûkxaneya PHP spinningcatstudios/lingara e li ser Packagist. Ew PHP 8.2 an nûtir hewce dike û bi rêya PSR-18 bi HTTP diaxive, ji ber vê yekê bi Symfony HttpClient, Guzzle an xerîdarekî te yê taybet re dixebite.

Çawa tê bikaranîn

  • Bang hevdem in. Tenê riya betalkirinê rawestandina xwendinê ye: ji foreach derkeve, an li ser herikînê close() bang bike.
  • Herikînek bi foreach carekê tê xwendin. Her bûyerê bi instanceof hevber bike.
  • Xeletî Lingara\Exception\LingaraException pêk tînin. Li ser xeletiyeke API, errorCode() koda domdar e û getCode() rewşa HTTP ye; retryAfter() hejmareke çirkeyan e, an null.
  • Bi argumana http stack-a HTTP hilbijêre. Bi Guzzle re, herikîn hewce dikin ku allow_url_fopen çalak be. Bi xerîdarekî PSR-18 yê te yê taybet re, mîhengkirina herikîn û sînorên demê karê te ye.
  • Di bin PHP-FPM de her worker vala dest pê dike, ji ber vê yekê tokenCache-eke PSR-16 bide xerîdar. Bê wê, her worker tokena xwe bi xwe diguherîne, û sînorê saetî yê xala dawî ya tokenê ji aliyê hemûyan ve tê parvekirin.

Mînakên li jêr pakêtê saz dikin, xerîdarekî diafirînin, lîsteyeke ferhengê diherikînin û xeletiyekê birêve dibin.

PHP

composer require spinningcatstudios/lingara:0.1.0-alpha.6

PHP

use Lingara\Client;

$client = new Client(clientId: $clientId, clientSecret: $clientSecret);

PHP

use Lingara\Model\VocabRequest;
use Lingara\Stream\GenerateVocabularyEvent;

$request = new VocabRequest(['level' => 2, 'source_lang' => 'en', 'target_lang' => 'zh', 'count' => 8]);
foreach ($client->generateVocabulary($request) as $event) {
    if ($event instanceof GenerateVocabularyEvent\Item) {
        echo $event->data->getWord(), ': ', $event->data->getTranslation(), "\n";
    }
}

PHP

use Lingara\Exception\ApiException;
use Lingara\Exception\LingaraException;
use Lingara\Exception\MaintenanceException;
use Lingara\Exception\OAuthException;
use Lingara\Exception\TransportException;

try {
    $client->getUsage();
} catch (LingaraException $e) {
    if ($e instanceof ApiException) {
        // A refusal from the API: status, errorCode (stable) and message (localised).
        echo $e->status(), ' ', $e->errorCode(), ': ', $e->getMessage(), "\n";
        echo 'retry after: ', $e->retryAfter() ?? 'not given', "\n";
    } elseif ($e instanceof OAuthException) {
        // The token endpoint refused the credentials or the scopes.
        echo $e->status(), ' ', $e->error(), ': ', $e->description(), "\n";
    } elseif ($e instanceof MaintenanceException) {
        echo 'under maintenance; retry after: ', $e->retryAfter() ?? 'not given', "\n";
    } elseif ($e instanceof TransportException) {
        // No usable answer: connect, tls, reset, timeout, and so on.
        echo 'transport: ', $e->kind()->value, "\n";
    }
}

Ev rûpel çi dipêçe