PHPackages                             tigusigalpa/yandex-cloud-client-php - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. tigusigalpa/yandex-cloud-client-php

ActiveLibrary[API Development](/categories/api)

tigusigalpa/yandex-cloud-client-php
===================================

PHP SDK для работы с Yandex Cloud API с поддержкой Laravel. Управление организациями, облаками, каталогами и авторизацией.

v1.0.0(5mo ago)12373↓35.7%6MITPHPPHP ^8.0CI failing

Since Nov 29Pushed 2mo ago1 watchersCompare

[ Source](https://github.com/tigusigalpa/yandex-cloud-client-php)[ Packagist](https://packagist.org/packages/tigusigalpa/yandex-cloud-client-php)[ Docs](https://github.com/tigusigalpa/yandex-cloud-client-php)[ RSS](/packages/tigusigalpa-yandex-cloud-client-php/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)Dependencies (6)Versions (2)Used By (6)

Yandex Cloud Client PHP
=======================

[](#yandex-cloud-client-php)

[![Yandex Cloud Client PHP](https://private-user-images.githubusercontent.com/2721390/520349196-2f1677ca-dbed-4311-8c1d-cc269077de93.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzQ3NDU3NTgsIm5iZiI6MTc3NDc0NTQ1OCwicGF0aCI6Ii8yNzIxMzkwLzUyMDM0OTE5Ni0yZjE2NzdjYS1kYmVkLTQzMTEtOGMxZC1jYzI2OTA3N2RlOTMucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI2MDMyOSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNjAzMjlUMDA1MDU4WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9NGUyNDY1Mjc1NjU4MjY0YTA5Y2FhMGUyZWRmNzI5OTJlNTY4M2Q1MTE4Y2IyOWY1NDhkYzM1YTY5M2RjZWVkMCZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.T8BmksYZvIkP2wVyjviN4EOT0B4AS_XHHZqEm8jIVSo)](https://private-user-images.githubusercontent.com/2721390/520349196-2f1677ca-dbed-4311-8c1d-cc269077de93.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzQ3NDU3NTgsIm5iZiI6MTc3NDc0NTQ1OCwicGF0aCI6Ii8yNzIxMzkwLzUyMDM0OTE5Ni0yZjE2NzdjYS1kYmVkLTQzMTEtOGMxZC1jYzI2OTA3N2RlOTMucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI2MDMyOSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNjAzMjlUMDA1MDU4WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9NGUyNDY1Mjc1NjU4MjY0YTA5Y2FhMGUyZWRmNzI5OTJlNTY4M2Q1MTE4Y2IyOWY1NDhkYzM1YTY5M2RjZWVkMCZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.T8BmksYZvIkP2wVyjviN4EOT0B4AS_XHHZqEm8jIVSo)

[![Latest Version](https://camo.githubusercontent.com/2d9e369c56cf3e4e0aac7b46b0f4d029c107ae55774af05eb80a064f3adc1165/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f74696775736967616c70612f79616e6465782d636c6f75642d636c69656e742d7068702e7376673f7374796c653d666c6174266c6f676f3d7061636b6167697374)](https://packagist.org/packages/tigusigalpa/yandex-cloud-client-php)[![Total Downloads](https://camo.githubusercontent.com/59dfb8a7cab37cddd805fd3cb55699f7ef1846521ea9b8b2c619ff40503f9d46/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f74696775736967616c70612f79616e6465782d636c6f75642d636c69656e742d7068702e7376673f7374796c653d666c6174266c6f676f3d7061636b6167697374)](https://packagist.org/packages/tigusigalpa/yandex-cloud-client-php)[![PHP Version](https://camo.githubusercontent.com/a75757acb553759601841c0ae5c02e65bc6e2889097ca8e19884d12fdf5cf62b/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f74696775736967616c70612f79616e6465782d636c6f75642d636c69656e742d7068702e7376673f7374796c653d666c6174266c6f676f3d706870)](https://packagist.org/packages/tigusigalpa/yandex-cloud-client-php)[![License](https://camo.githubusercontent.com/65c278be287bbafa50094b5782cbfd7537e55287dcaf395b3e7b4c97b14a5c27/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f74696775736967616c70612f79616e6465782d636c6f75642d636c69656e742d7068702e7376673f7374796c653d666c6174)](LICENSE)

[English version](README-en.md) · [Packagist](https://packagist.org/packages/tigusigalpa/yandex-cloud-client-php) · [GitHub](https://github.com/tigusigalpa/yandex-cloud-client-php)

PHP SDK для работы с Yandex Cloud API. Поддерживает Laravel из коробки.

Позволяет управлять организациями, облаками, каталогами, сервисными аккаунтами и IAM-авторизацией.

---

Возможности
-----------

[](#возможности)

- OAuth 2.0 авторизация, автоматическая генерация и кэширование IAM-токенов (TTL 12ч)
- Организации — CRUD, управление доступом
- Облака — полный жизненный цикл
- Каталоги — операции и права доступа
- Сервисные аккаунты — создание, удаление, назначение ролей
- Пользователи — получение по ID или логину Yandex Passport
- API-ключи — создание и управление
- Refresh-токены — список, отзыв
- Laravel: Service Provider (auto-discovery), Facade, конфиг через `.env`, DI
- PHP 8.0+, строгая типизация, PSR-12, PHPUnit

Требования
----------

[](#требования)

ТребованиеВерсияPHP8.0+Guzzle HTTP7.0+Laravel8.0+ (опционально)Быстрый старт
-------------

[](#быстрый-старт)

### Установка

[](#установка)

```
composer require tigusigalpa/yandex-cloud-client-php
```

### Получение OAuth токена

[](#получение-oauth-токена)

Как получить OAuth токен1. Перейдите на [Yandex OAuth](https://oauth.yandex.ru/authorize?response_type=token&client_id=1a6990aa636648e9b2ef855fa7bec2fb)
2. Авторизуйте приложение
3. Скопируйте токен
4. Используйте его в коде

Храните токены в переменных окружения.

Подробнее см. [Документацию Yandex Cloud](https://yandex.cloud/ru/docs/iam/concepts/authorization/oauth-token).

### Настройка Laravel

[](#настройка-laravel)

```
# Опубликовать конфигурацию
php artisan vendor:publish --tag=yandex-cloud-config
```

Добавьте в `.env`:

```
YANDEX_CLOUD_OAUTH_TOKEN=ваш_oauth_токен
YANDEX_CLOUD_ORGANIZATION_ID=id_организации
YANDEX_CLOUD_CLOUD_ID=id_облака
YANDEX_CLOUD_FOLDER_ID=id_каталога
```

Примеры использования
---------------------

[](#примеры-использования)

### Standalone PHP

[](#standalone-php)

```
use Tigusigalpa\YandexCloudClient\YandexCloudClient;

// Инициализация клиента
$client = new YandexCloudClient('ваш_oauth_токен');

// Список всех организаций
$organizations = $client->organizations()->list();

// Список облаков в организации
$clouds = $client->clouds()->list(organizationId: 'org_id');

// Создать новый каталог
$folder = $client->folders()->create(
    cloudId: 'cloud_id',
    name: 'Мой каталог',
    description: 'Создан через API'
);
```

### Laravel - Использование Facade

[](#laravel---использование-facade)

```
use Tigusigalpa\YandexCloudClient\Laravel\Facades\YandexCloud;

// Facade
$organizations = YandexCloud::organizations()->list();
$org = YandexCloud::organizations()->get('organization_id');

// Создать облако с именованными параметрами
$cloud = YandexCloud::clouds()->create(
    organizationId: 'org_id',
    name: 'Продакшн облако',
    description: 'Основное продакшн окружение',
    labels: ['env' => 'production']
);
```

### Laravel - Dependency Injection

[](#laravel---dependency-injection)

```
use Tigusigalpa\YandexCloudClient\YandexCloudClient;

class CloudController extends Controller
{
    public function __construct(
        private YandexCloudClient $yandexCloud
    ) {}

    public function index()
    {
        $clouds = $this->yandexCloud->clouds()->list();
        return view('clouds.index', compact('clouds'));
    }

    public function store(Request $request)
    {
        $folder = $this->yandexCloud->folders()->create(
            cloudId: $request->cloud_id,
            name: $request->name,
            description: $request->description
        );

        return response()->json($folder, 201);
    }
}
```

---

Справка по API
--------------

[](#справка-по-api)

### API организаций

[](#api-организаций)

```
// Список организаций
$organizations = $client->organizations()->list(
    pageSize: 100,
    pageToken: null
);

// Получить организацию
$org = $client->organizations()->get('organization_id');

// Обновить организацию
$org = $client->organizations()->update('organization_id', [
    'name' => 'Новое имя',
    'description' => 'Новое описание',
]);

// Назначить роль на организацию
$result = $client->organizations()->addRole(
    organizationId: 'org_id',
    subjectId: 'user_id',
    roleId: 'editor',
    subjectType: 'userAccount'
);

// Удалить роль с организации
$result = $client->organizations()->removeRole(
    organizationId: 'org_id',
    subjectId: 'user_id',
    roleId: 'editor'
);

// Список назначенных ролей
$bindings = $client->organizations()->listAccessBindings('organization_id');
```

### API облаков

[](#api-облаков)

```
// Список облаков
$clouds = $client->clouds()->list(
    organizationId: 'org_id',
    pageSize: 100
);

// Получить облако
$cloud = $client->clouds()->get('cloud_id');

// Создать облако
$cloud = $client->clouds()->create(
    organizationId: 'org_id',
    name: 'Мое облако',
    description: 'Продакшн облако',
    labels: ['env' => 'production']
);

// Обновить облако
$cloud = $client->clouds()->update('cloud_id', [
    'name' => 'Обновленное имя',
    'description' => 'Обновленное описание',
]);

// Удалить облако
$result = $client->clouds()->delete('cloud_id');

// Назначить роль на облако
$result = $client->clouds()->addRole(
    cloudId: 'cloud_id',
    subjectId: 'user_id',
    roleId: 'editor'
);

// Список назначенных ролей
$bindings = $client->clouds()->listAccessBindings('cloud_id');
```

### API каталогов

[](#api-каталогов)

```
// Список каталогов
$folders = $client->folders()->list(
    cloudId: 'cloud_id',
    pageSize: 100
);

// Получить каталог
$folder = $client->folders()->get('folder_id');

// Создать каталог
$folder = $client->folders()->create(
    cloudId: 'cloud_id',
    name: 'Мой каталог',
    description: 'Каталог для разработки',
    labels: ['team' => 'backend']
);

// Обновить каталог
$folder = $client->folders()->update('folder_id', [
    'name' => 'Обновленное имя',
]);

// Удалить каталог
$result = $client->folders()->delete('folder_id');

// Список операций
$operations = $client->folders()->listOperations('folder_id');

// Назначить роль на каталог
$result = $client->folders()->addRole(
    folderId: 'folder_id',
    subjectId: 'user_id',
    roleId: 'ai.languageModels.user'
);

// Список назначенных ролей
$bindings = $client->folders()->listAccessBindings('folder_id');
```

### API Refresh-токенов

[](#api-refresh-токенов)

```
// Список refresh-токенов
$tokens = $client->refreshTokens()->list();

// Отозвать refresh-токен
$result = $client->refreshTokens()->revoke('token_id');
```

### API сервисных аккаунтов

[](#api-сервисных-аккаунтов)

```
// Список сервисных аккаунтов в каталоге
$serviceAccounts = $client->serviceAccounts()->list(
    folderId: 'folder_id',
    pageSize: 100
);

// Получить сервисный аккаунт
$sa = $client->serviceAccounts()->get('service_account_id');

// Создать сервисный аккаунт
$sa = $client->serviceAccounts()->create(
    folderId: 'folder_id',
    name: 'my-service-account',
    description: 'Сервисный аккаунт для API'
);

// Обновить сервисный аккаунт
$sa = $client->serviceAccounts()->update('service_account_id', [
    'name' => 'Обновлённое имя',
    'description' => 'Обновлённое описание',
]);

// Удалить сервисный аккаунт
$result = $client->serviceAccounts()->delete('service_account_id');

// Назначить роль на сервисный аккаунт
$result = $client->serviceAccounts()->addRole(
    serviceAccountId: 'service_account_id',
    subjectId: 'user_id',
    roleId: 'editor'
);

// Список назначенных ролей
$bindings = $client->serviceAccounts()->listAccessBindings('service_account_id');
```

### API пользователей

[](#api-пользователей)

```
// Получить пользователя по ID
$user = $client->userAccounts()->get('user_account_id');

// Получить пользователя по логину Yandex Passport (для получения ID)
$user = $client->yandexPassportUserAccounts()->getByLogin('username');
// Возвращает: ['id' => 'user_id', 'login' => 'username', ...]

// Использовать ID для назначения ролей
$userId = $user['id'];
$client->folders()->addRole(
    folderId: 'folder_id',
    subjectId: $userId,
    roleId: 'editor',
    subjectType: 'userAccount'
);
```

### API-ключи

[](#api-ключи)

```
// Список API ключей для сервисного аккаунта
$keys = $client->apiKeys()->list(
    serviceAccountId: 'service_account_id',
    pageSize: 100
);

// Получить API ключ
$key = $client->apiKeys()->get('api_key_id');

// Создать API ключ (secret показывается только один раз!)
$key = $client->apiKeys()->create(
    serviceAccountId: 'service_account_id',
    description: 'API ключ для продакшна'
);
// Сохраните $key['secret'] немедленно - он больше не будет показан!

// Обновить API ключ
$key = $client->apiKeys()->update('api_key_id', [
    'description' => 'Обновлённое описание',
]);

// Удалить API ключ
$result = $client->apiKeys()->delete('api_key_id');
```

---

Управление доступом
-------------------

[](#управление-доступом)

### Назначение нескольких ролей одновременно

[](#назначение-нескольких-ролей-одновременно)

```
// Назначить несколько ролей на каталог
$client->folders()->updateAccessBindings('folder_id', [
    [
        'action' => 'ADD',
        'accessBinding' => [
            'roleId' => 'editor',
            'subject' => [
                'id' => 'user_id_1',
                'type' => 'userAccount',
            ],
        ],
    ],
    [
        'action' => 'ADD',
        'accessBinding' => [
            'roleId' => 'viewer',
            'subject' => [
                'id' => 'user_id_2',
                'type' => 'userAccount',
            ],
        ],
    ],
]);
```

### Замена всех прав доступа

[](#замена-всех-прав-доступа)

```
// Заменить все права доступа
$client->clouds()->setAccessBindings('cloud_id', [
    [
        'roleId' => 'admin',
        'subject' => [
            'id' => 'user_id',
            'type' => 'userAccount',
        ],
    ],
]);
```

### Назначение ролей по логину пользователя

[](#назначение-ролей-по-логину-пользователя)

```
// Получить ID пользователя по логину Yandex Passport
$user = $client->yandexPassportUserAccounts()->getByLogin('username@yandex.ru');
$userId = $user['id'];

// Назначить роль на каталог, используя ID пользователя
$client->folders()->addRole(
    folderId: 'folder_id',
    subjectId: $userId,
    roleId: 'ai.languageModels.user',
    subjectType: 'userAccount'
);

// Или назначить на облако
$client->clouds()->addRole(
    cloudId: 'cloud_id',
    subjectId: $userId,
    roleId: 'editor',
    subjectType: 'userAccount'
);
```

---

Обработка ошибок
----------------

[](#обработка-ошибок)

```
use Tigusigalpa\YandexCloudClient\Exceptions\AuthenticationException;
use Tigusigalpa\YandexCloudClient\Exceptions\ApiException;
use Tigusigalpa\YandexCloudClient\Exceptions\ValidationException;

try {
    $clouds = $client->clouds()->list();
} catch (AuthenticationException $e) {
    // Обработка ошибок авторизации
    echo "Ошибка авторизации: " . $e->getMessage();
} catch (ValidationException $e) {
    // Обработка ошибок валидации
    echo "Ошибка валидации: " . $e->getMessage();
} catch (ApiException $e) {
    // Обработка ошибок API
    echo "Ошибка API: " . $e->getMessage();
}
```

---

Тестирование
------------

[](#тестирование)

```
# Запустить тесты
composer test

# Запустить статический анализ
composer phpstan

# Проверить стиль кода
composer cs-check

# Исправить стиль кода
composer cs-fix
```

---

Участие в разработке
--------------------

[](#участие-в-разработке)

### Настройка окружения для разработки

[](#настройка-окружения-для-разработки)

```
# Клонировать репозиторий
git clone https://github.com/tigusigalpa/yandex-cloud-client-php.git
cd yandex-cloud-client-php

# Установить зависимости
composer install

# Скопировать файл окружения
cp .env.example .env
```

### Рекомендации по участию

[](#рекомендации-по-участию)

- Следуйте PSR-12
- Используйте строгую типизацию и type hints
- Пишите тесты для новых функций
- Обновляйте документацию при необходимости
- Одна функция на PR

### Процесс Pull Request

[](#процесс-pull-request)

1. Сделайте форк репозитория
2. Создайте ветку функции (`git checkout -b feature/amazing-feature`)
3. Внесите изменения
4. Запустите тесты и убедитесь, что они проходят
5. Закоммитьте изменения (`git commit -m 'Add amazing feature'`)
6. Отправьте в ветку (`git push origin feature/amazing-feature`)
7. Откройте Pull Request

---

Безопасность
------------

[](#безопасность)

Об уязвимостях сообщайте на ****, а не через issue tracker.

---

Развёртывание и публикация
--------------------------

[](#развёртывание-и-публикация)

Чеклист развёртывания### Перед развёртыванием

[](#перед-развёртыванием)

```
# Установить зависимости
composer install

# Запустить тесты
composer test

# Проверить структуру пакета
ls -la
```

### Развёртывание на GitHub

[](#развёртывание-на-github)

```
# Инициализировать репозиторий
git init
git add .
git commit -m "Initial commit: v1.0.0"

# Отправить на GitHub
git remote add origin https://github.com/tigusigalpa/yandex-cloud-client-php.git
git branch -M main
git push -u origin main

# Создать релиз
git tag v1.0.0
git push origin v1.0.0
```

### Развёртывание на Packagist

[](#развёртывание-на-packagist)

1. Перейдите на [packagist.org/packages/submit](https://packagist.org/packages/submit)
2. Введите URL репозитория
3. Нажмите "Check" и "Submit"
4. Настройте webhook для авто-обновления в настройках GitHub

### Нумерация версий (Semantic Versioning)

[](#нумерация-версий-semantic-versioning)

- **MAJOR** (1.x.x) - Несовместимые изменения
- **MINOR** (x.1.x) - Новые функции, обратно совместимые
- **PATCH** (x.x.1) - Исправления ошибок, обратно совместимые

---

Автор
-----

[](#автор)

[Игорь Сазонов](https://github.com/tigusigalpa)

- Email:
- GitHub: [@tigusigalpa](https://github.com/tigusigalpa)

Спасибо [всем участникам](../../contributors).

---

Лицензия
--------

[](#лицензия)

[MIT](LICENSE)

---

Связанные пакеты
----------------

[](#связанные-пакеты)

ПакетОписаниеСсылки**YandexGPT PHP**SDK для YandexGPT API[GitHub](https://github.com/tigusigalpa/yandexgpt-php) • [Packagist](https://packagist.org/packages/tigusigalpa/yandexgpt-php)**Yandex Cloud Billing**SDK для Billing API[GitHub](https://github.com/tigusigalpa/yandexcloud-billing-php) • [Packagist](https://packagist.org/packages/tigusigalpa/yandexcloud-billing-php)**Yandex Lockbox**SDK для Lockbox API[GitHub](https://github.com/tigusigalpa/yandex-lockbox-php) • [Packagist](https://packagist.org/packages/tigusigalpa/yandex-lockbox-php)---

Ссылки
------

[](#ссылки)

**Документация Yandex Cloud:**

- [Yandex Cloud Docs](https://yandex.cloud/docs)
- [Organization API](https://yandex.cloud/ru/docs/organization/api-ref/)
- [Resource Manager API](https://yandex.cloud/ru/docs/resource-manager/api-ref/)
- [IAM API](https://yandex.cloud/ru/docs/iam/api-ref/)

**Пакет:**

- [Packagist](https://packagist.org/packages/tigusigalpa/yandex-cloud-client-php)
- [GitHub](https://github.com/tigusigalpa/yandex-cloud-client-php)
- [Issues](https://github.com/tigusigalpa/yandex-cloud-client-php/issues)
- [Discussions](https://github.com/tigusigalpa/yandex-cloud-client-php/discussions)

###  Health Score

41

—

FairBetter than 89% of packages

Maintenance79

Regular maintenance activity

Popularity24

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity40

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

171d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/2721390?v=4)[Igor Sazonov](/maintainers/tigusigalpa)[@tigusigalpa](https://github.com/tigusigalpa)

---

Top Contributors

[![tigusigalpa](https://avatars.githubusercontent.com/u/2721390?v=4)](https://github.com/tigusigalpa "tigusigalpa (5 commits)")

---

Tags

apicloudlaravelphpyandexyandex-cloudyandex-cloud-apiyandex-cloud-clientyandexcloudphpapilaravelsdkcloudyandexfolderiamorganization

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP\_CodeSniffer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/tigusigalpa-yandex-cloud-client-php/health.svg)

```
[![Health](https://phpackages.com/badges/tigusigalpa-yandex-cloud-client-php/health.svg)](https://phpackages.com/packages/tigusigalpa-yandex-cloud-client-php)
```

###  Alternatives

[openai-php/laravel

OpenAI PHP for Laravel is a supercharged PHP API client that allows you to interact with the Open AI API

3.7k7.6M74](/packages/openai-php-laravel)[mozex/anthropic-laravel

Anthropic PHP for Laravel is a supercharged PHP API client that allows you to interact with the Anthropic API

71226.4k1](/packages/mozex-anthropic-laravel)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
