10
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

NCMB PHP SDKをリリースしました

Last updated at Posted at 2017-03-17

自分がニフティクラウド mobile backend (NCMB) 用のPHP SDKを開発しているという話は昨年に何回か発表していて、「近いうちに出る」と毎回言ってる、いわば「出る出る詐欺」状態だったわけですね。最初に言ったのが2016年3月30日のPHP勉強会だからほぼ一年前ですか。以下はその時のスライド。

ニフティクラウドモバイルバックエンドとPHP

この一年ずっと開発していたわけではさすがになくて、他の優先順位の高い作業がどんどん入って、ちょっと作っては中断を繰り返していました。目標とする機能が全部揃うまでこのままなのも流石にちょっとアレなので、とりあえずできているところまででリリースしちゃうことにしました。

koyhoge/php-ncmb

Packagist にも登録したので、以下を composer.json に書くと composer install できます。

    "require": {
        "koyhoge/php-ncmb": "*"
    },

注意点

リリースしておいてなんですが、ニフティは間もなくやってくる4月1日に組織変更される予定でして、NCMBも含むニフティクラウドを提供するのは「富士通クラウドテクノロジーズ」になります。なので「ニフティクラウド mobile backend」という名称や「NCMB」という略称も、そのうちに変更されるかもしれません。もしそうなった場合は、さくっとパッケージ名も変更するつもりですのでご注意下さい。

Parse.com のPHP SDKはすごい

NCMB PHPを作っている途中でParseのPHP SDKを発見しました。AS-ISライセンスでGitHub上で公開されています。

Parse PHP SDK

ご存知のように?、NCMBのREST APIはParseのそれとよく似ていて、SDKのPHPコードも参考になる部分が多々ありました。ポインターやリレーションなど面倒な部分をどうやって実装しようかと、漠然と考えていたこともあって、それまでのコードを大幅に改変してParse SDKの設計方針を取り入れました。

使い方はこんな感じ

まだまだ機能は足りないですが、データストアの基本的な部分は動作します。

use Ncmb\NCMB;
use Ncmb\Object;
use Ncmb\Query;

$appkey = 'YOUR APPLICATION KEY';
$clientkey = 'YOUR CLIENT KEY';

// 初期化
NCMB::initialize($appkey, $clientkey);

$className = 'Friends';

// 保存
$friend = new Object($className);
$friend->name = 'サーバルちゃん';
$friend->phrase = 'たーのしー';
$friend->save();

// 読み込み
$query = new Query($className);
$query->equalTo('name', 'サーバルちゃん');
$friends = $query->find();

TODO

これから未対応の部分もどんどん実装していく予定です。

  • ポインター
  • リレーション
  • ロール
  • プッシュ通知
  • ファイルストア
  • スクリプト
10
5
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?