PHP SDK

عميل PHP متوافق مع PSR-18 بأنواع صارمة. يدعم PHP 8.1+.

التثبيت

composer require kalimalab/kalimalab-php

المتطلبات

PHP 8.1+ مع ext-json وعميل HTTP متوافق مع PSR-18 (Guzzle أو Symfony HttpClient).

تهيئة العميل

<?phpuse KalimaLab\Client;$client = new Client($_ENV['KALIMALAB_API_KEY']);

الطرق

$client->words()->get

جلب التفاصيل الكاملة لكلمة واحدة.

$client->words()->get(string $slug): Word
ParamTypeReqDescription
slugstringYesslug الكلمة أو معرّفها
$word = $client->words()->get('كتب');echo $word->meaning_en; // 'to write'
$client->words()->daily

احصل على كلمة اليوم.

$client->words()->daily(): Word
$word = $client->words()->daily();echo $word->word; // 'الأَمَل'
$client->words()->validate

تحقق من صحة الكلمات العربية في قاعدة البيانات.

$client->words()->validate(array $words): ValidationResult
ParamTypeReqDescription
wordsstring[]Yesحتى 100 كلمة
$result = $client->words()->validate(['كتب', 'xyz', 'مدرسة']);print_r($result->valid);   // ['كتب', 'مدرسة']print_r($result->invalid); // ['xyz']
$client->text()->analyze

حلّل مقطعاً من النص العربي.

$client->text()->analyze(string $text): TextAnalysis
ParamTypeReqDescription
textstringYesنص عربي (حد أقصى 5,000 حرف)
$analysis = $client->text()->analyze('بسم الله الرحمن الرحيم');echo $analysis->word_count; // 4

معالجة الأخطاء

use KalimaLab\Exception\KalimaLabException;try {    $result = $client->words()->search(['q' => 'كتب']);} catch (KalimaLabException $e) {    echo $e->getStatus();  // 401, 429, 500    echo $e->getCode();    // 'unauthorized', 'rate_limited'    echo $e->getMessage();}