Lingara Lingara Mwongozo Miongozo API Maktaba Programu Unda Programu ya wavuti
Lugha: Kiswahili

PHP

Ukurasa huu umetafsiriwa kutoka Kiingereza. Ikiwa hizi mbili zinatofautiana, ukurasa wa Kiingereza ndio sahihi. Soma ukurasa wa Kiingereza

Maktaba ya PHP ni spinningcatstudios/lingara kwenye Packagist. Inahitaji PHP 8.2 au toleo jipya zaidi na huwasiliana kupitia HTTP kwa PSR-18, kwa hivyo inafanya kazi na Symfony HttpClient, Guzzle au mteja wako mwenyewe.

Jinsi inavyotumika

  • Miito inasawazishwa. Njia pekee ya kughairi ni kuacha kusoma: toka kwenye foreach, au ita close() kwenye mtiririko.
  • Mtiririko husomwa kwa foreach, mara moja. Linganisha kila tukio kwa instanceof.
  • Hitilafu hutekeleza Lingara\Exception\LingaraException. Kwenye hitilafu ya API, errorCode() ni msimbo thabiti na getCode() ni hali ya HTTP; retryAfter() ni idadi ya sekunde, au null.
  • Chagua mfumo wa HTTP kwa hoja ya http. Ukitumia Guzzle, mitiririko inahitaji allow_url_fopen iwe imewashwa. Ukitumia mteja wako mwenyewe wa PSR-18, kusanidi utiririshaji na vikomo vya muda ni jukumu lako.
  • Chini ya PHP-FPM kila mfanyakazi huanza akiwa mtupu, kwa hivyo mpe mteja tokenCache ya PSR-16. Bila hiyo, kila mfanyakazi hubadilishana tokeni yake mwenyewe, na kikomo cha kila saa cha sehemu ya mwisho ya tokeni hushirikiwa na wote.

Sampuli zilizo hapa chini husakinisha kifurushi, huunda mteja, hutiririsha orodha ya msamiati na hushughulikia hitilafu.

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";
    }
}

Kile ukurasa huu unachofunika