pigeon-cloud/pigeon-cloud-sdk

Installs: 70

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 2

Forks: 0

Open Issues: 0

pkg:composer/pigeon-cloud/pigeon-cloud-sdk

v1.0.9 2025-09-29 05:33 UTC

This package is not auto-updated.

Last update: 2025-12-22 06:49:28 UTC


README

Overview

The Pigeon Cloud SDK makes it easier for developers to use Pigeon Cloud API in their PHP code. Pigeon Cloud API

Installation

composer require pigeon-cloud/pigeon-cloud-sdk

Requirement

  • PHP 8.0+

Usage

.env

PIGEON_API_URL=https://xxx.pigeon-cloud.com/api/v1
PIGEON_MASTER_ID=admin
PIGEON_MASTER_PASSWORD=password

example.php

require 'vendor/autoload.php';

use PigeonCloudSdk\PigeonCondition;
use PigeonCloudSdk\PigeonProvider;

// Environment variables need to be loaded.
// Example: When using phpdotenv, `composer require vlucas/phpdotenv`
$dotenv = \Dotenv\Dotenv::createImmutable(__DIR__);
$dotenv->load();

$pigeonProvider = new PigeonProvider('{table_id}');
$pigeonCondition = new PigeonCondition();
$pigeonCondition->add('{and_or}', '{field}', '{condition}', '{value}');
list($data, $count) = $pigeonProvider->fetch($pigeonCondition);

Features

fetch

$pigeonProvider = new PigeonProvider('1');
$pigeonCondition = new PigeonCondition();
$pigeonCondition->add('and', 'field__1', 'eq', '1');
$page = 1;
$per_page = 10;
$order = 'id desc';
$fields = ['field__1'];

// fetch list
list($data, $count) = $pigeonProvider->fetch($pigeonCondition, $page, $per_page, $order, $fields);

// fetch one
$data = $pigeonProvider->fetchOne($pigeonCondition, $order, $fields);

// fetch all
$data_all = $pigeonProvider->fetchAll($pigeonCondition, $order, $fields);

insert

$pigeonProvider = new PigeonProvider('1');

// insert
$insert_data = [
    ['field__1' => 'Test 1'],
    ['field__1' => 'Test 2'],
];
$response_data = $pigeonProvider->insert($insert_data);

// insert one
$inserted_id = $pigeonProvider->insertOne(['field__1' => 'Test 1']);

update

$pigeonProvider = new PigeonProvider('1');

// update
$update_data = [
    ['id' => 1, 'field__1' => 'Update 1'],
    ['id' => 2, 'field__1' => 'Update 2'],
];
$response_data = $pigeonProvider->update($update_data);

// update one
$isSucceeded = $pigeonProvider->updateOne(1, ['field__1' => 'Update 1']);

delete

$pigeonProvider = new PigeonProvider('1');

// delete
$response_data = $pigeonProvider->delete([1, 2]);

// delete one
$isSucceeded = $pigeonProvider->delete(1);

file

$pigeonProvider = new PigeonProvider('1');

// delete
$response = $pigeonProvider->file('1');
header('Content-Disposition: attachment; filename="filename.ext"');
echo $response;
exit(0);

debug mode

$pigeonProvider = new PigeonProvider('1');
$pigeonProvider->setDebug(); // Enable Debug mode
$pigeonProvider->fetch();

// The API URL, POST data, and response data will be displayed.

License

MIT License