OrientDBをPHPから使う(2)
はじめに
第1回のエントリーはこちら。
「OrientDBをPHPから使う」というタイトルなのに、前回はPHPの話がまったく出てこなかったけど、今回はPHP bindingのお話。
Webで検索すると多分こっちのページが一番最初に見つかると思うけど、最新版はこっちらしい。
前回書いていなかったので、環境を
- Orient DB Graph Edition 1.1.0
- PHP 5.3
インストール、設定
README通りで問題ないが少し説明。
まずはgit cloneにてソースを持ってくる。
次に、そのディレクトリに入り、以下のコマンドを実行。
$ ./bin/initialize-dependencies.sh
このコマンドを実行するとComposerというものを使って、依存するパッケージとかをダウンロードしてくれる。ComposerはPHP版Mavenみたいなもの?
OrientDBのPHP bindingを使うためには、先ほどのディレクトリにある autoload.php を読み込むだけ
require_once '/path/to/Orient/autoload.php';
使い方
このPHP bindingは、PHP 5.3から導入された名前空間(namespace)を使用している。自分自身では殆ど使ったこと無いけど、Javaのパッケージ名みたいなものって理解しておけばとりあえず大丈夫かな。
まずは以下のように、利用する名前空間を宣言。
use Congow\Orient\Binding\HttpBinding; use Congow\Orient\Binding\BindingParameters;
次に、OrientDBのPHP bindingのオブジェクト(HttpBinding)を取得。
$params = BindingParameters::create('http://admin:admin@hostname:2480/dbname'); $orient = new HttpBinding($params);
後はSQLを実行する。
// insert等のデータ更新系 $result = $orient->execute("CREATE CLASS Person EXTENDS OgraphVertex"); // selectとか $out = $orient->query("SELECT FROM Person WHERE xxx = 1"); print_r($out->getResult()); // GremlinもOK $out = $orient->query("SELECT GREMLIN('current.out[0..3]') FROM User LIMIT 10"); print_r($out->getResult());