PHPackages                             rashiku/colrow-php-sdk - 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. rashiku/colrow-php-sdk

ActiveLibrary

rashiku/colrow-php-sdk
======================

1.0.0(10y ago)019PHP

Since Feb 6Pushed 9y ago3 watchersCompare

[ Source](https://github.com/rashikucorp/colrow-php-sdk)[ Packagist](https://packagist.org/packages/rashiku/colrow-php-sdk)[ RSS](/packages/rashiku-colrow-php-sdk/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (2)Used By (0)

COLROW PHP SDK
==============

[](#colrow-php-sdk)

COLROW PHP SDK は、PHP 環境にて [COLROW](http://colrow.net/) API を利用するための SDK です。

インストール方法
--------

[](#インストール方法)

[Composer](https://getcomposer.org/download/) を使います。まずはプロジェクトのルートディレクトリにて、以下の composer.json を作成し、php composer.phar install を実行してください。

```
{
    "require": {
        "rashiku/colrow-php-sdk" : "1.0.*"
    }
}

```

以下のように記述することで COLROW PHP SDK が利用できるようになります。

```
require_once 'vendor/autoload.php';

```

何らかの事情で Composer が使えない場合は、[ファイル一式](https://github.com/rashikucorp/colrow-php-sdk/releases)をダウンロードし、Colrow フォルダをそのままお使いください。上記の autoload.php の代わりに以下のように記述し、必要なファイル群を読み込んでください。

```
require_once 'Colrow/ColrowClient.php';
require_once 'Colrow/ColrowObject.php';
require_once 'Colrow/ColrowQuery.php';
require_once 'Colrow/ColrowDrive.php';
require_once 'Colrow/ColrowException.php';

```

※PHP のバージョンは 5.4 以上である必要があります。

初期化
---

[](#初期化)

SDK から必要なファイルを読み込んだ後、ColrowClient を初期化する必要があります（ColrowDrive だけは例外）。

```
ColrowClient::initialize(
    'your_account',
    'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
    'シート1'
);

```

3つの引数はそれぞれ「COLROW に登録した Google アカウント」「スプレッドシートの key」「ワークシート名」になります。

基本的な使い方
-------

[](#基本的な使い方)

利用する機能に応じたクラスを use 文にて宣言します。大抵のケースでは、以下の3つのクラス（のうちいずれか）を宣言することになるでしょう。

```
use Colrow\ColrowClient;
use Colrow\ColrowQuery;
use Colrow\ColrowObject;

```

**オブジェクトとして全件取得**：

```
$query = new ColrowQuery();

$objects = $query->find();

```

**最初の1件を取得**：

```
$query = new ColrowQuery();

$object = $query->first();

```

**クエリ（後述）を指定して取得**：

```
$query = new ColrowQuery();
$query->equalTo('会社名', 'らしく');
$query->orderBy('日付');
$query->reverse(true);

$objects = $query->find();

```

**件数をカウント**：

```
$query = new ColrowQuery();

echo $query->count();

```

**シートに新しい行を追加**：

```
$row = new ColrowObject();

$row->set('会社名', 'らしく販売');
$row->set('担当者', '鈴木一郎');
$row->set('日付', '2016/1/1');

$row->save();

```

**行の内容を更新**：

```
$query = new ColrowQuery();

$objects = $query->find();
$row = $objects[10];

$row->set('担当者', '田中太郎');

$row->save();

```

**行を削除**：

```
$query = new ColrowQuery();

$objects = $query->find();
$row = end($objects);

$row->destroy();

```

COLROW オブジェクト
-------------

[](#colrow-オブジェクト)

ColrowQuery クラス経由で取得したオブジェクトは、get メソッドによって内容を参照できます。

```
foreach ($objects as $object) {
    echo $object->get('会社名') . "\n";
}

```

その他にも、以下のメソッドが利用可能です。

- **set(*label*, *value*)** ... オブジェクトの *label*（列のラベル名）に *value* をセット
- **save()** ... オブジェクトを保存。シートの該当行の内容も更新（新規作成した場合は最終行に追加）
- **destroy()** ... オブジェクトを削除。シートの該当行も削除
- **getId()** ... オブジェクトの ID（＝該当行に割り当てられた固有の ID）を参照
- **toJson()** ... JSON 文字列に変換（デバッグ用）

クエリ
---

[](#クエリ)

シートの内容を抽出するため、ColrowQuery クラスのインスタンスに対して、SQL の where 句に相当する以下のメソッドが用意されています。

- **equalTo(*label*, *value*)** ... *label* の値が *value* に等しい
- **notEqualTo(*label*, *value*)** ... *label* の値が *value* に等しくない
- **lessThan(*label*, *value*)** ... *label* の値が *value* より小さい
- **greaterThan(*label*, *value*)** ... *label* の値が *value* より大きい
- **lessThanOrEqualTo(*label*, *value*)** ... *label* の値が *value* より小さいか等しい
- **greaterThanOrEqualTo(*label*, *value*)** ... *label* の値が *value* より大きいか等しい
- **exists(*label*)** ... *label* の値が空ではない
- **doesNotExist(*label*)** ... *label* の値が空である

上記の条件を複数列記することで AND として扱われます。

```
$query->equalTo('カテゴリ', 'A');
$query->notEqualTo('状態', '休業中');
$query->lessThanOrEqual('優先度', 5);

```

OR の場合は ColrowQuery のインスタンスを個別に作成し、orQuery メソッドを使います。

```
$query1 = new ColrowQuery();
$query1->equalTo('会社名', 'らしく');
$query2 = new ColrowQuery();
$query2->equalTo('会社名', 'らしく販売');

$query = new ColrowQuery();
$query->orQuery($query1, $query2);

$objects = $query->find();

```

その他にも以下のメソッドが利用可能です。

- **orderBy(*label*)** ... *label* の値でソート（デフォルトは昇順）
- **reverse(*boolean*)** ... true を指定することでソートを降順に変更
- **offset(*number*)** ... 指定した列数をスキップ
- **limit(*number*)** ... 取得する列数を指定

ColrowDrive について
----------------

[](#colrowdrive-について)

Google ドライブにファイルをアップロードするために用意された ColrowDrive クラスは、前述した他のクラスとはやや使用感が異なります。

```
use Colrow\ColrowDrive;

if (isset($_FILES['image'])) {
    $file = $_FILES['image'];

    $fp = fopen($file['tmp_name'], 'r');
    $file_body = base64_encode(fread($fp, filesize($file['tmp_name'])));
    fclose($fp);

    $parent_id = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
    $response = ColrowDrive::upload('your_account', $file['name'], $file['type'], $file_body, $parent_id);

    echo json_encode($response);
} else {
    echo '';
    echo '';
    echo '';
    echo '';
}

```

$parent\_id はファイルのアップロード先、つまり Google ドライブのフォルダの ID になります。そのフォルダのページの URL の `https://drive.google.com/drive/u/0/folders/` 以降に書かれているのがそれです。また、ColrowDrive::upload() の第1引数には、COLROW に登録した Google アカウントを指定してください。

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity63

Established project with proven stability

 Bus Factor1

Top contributor holds 96.2% 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

3746d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/65af8578786ec2c50da5d0d595c087fcadb5e302dc5b5adfd5467f2042cf8d83?d=identicon)[rashikucorp](/maintainers/rashikucorp)

---

Top Contributors

[![somin1968](https://avatars.githubusercontent.com/u/1426791?v=4)](https://github.com/somin1968 "somin1968 (25 commits)")[![rashikucorp](https://avatars.githubusercontent.com/u/17093841?v=4)](https://github.com/rashikucorp "rashikucorp (1 commits)")

### Embed Badge

![Health badge](/badges/rashiku-colrow-php-sdk/health.svg)

```
[![Health](https://phpackages.com/badges/rashiku-colrow-php-sdk/health.svg)](https://phpackages.com/packages/rashiku-colrow-php-sdk)
```

PHPackages © 2026

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