composerを使わないでneo4jphpからNeo4jに接続してみた

Facebooktwitter

neo4jphpの作成者Josh Adellさんはneo4jphpのwikiで、neo4jphpはComposerでインクルードする方法のみをサポートしていると書いてありますが、ソースを直接インクルードする方法も説明しています。
イントラで利用する場合、外部にソースを取りにいけない時など、マニュアルでソースを設置してインクルードできるのはありがたいです。
忘れないように書いておこう。

【手順】
1)neo4jphpのインストール
2)autoloader用のスニペットを作る
3)2で作ったファイルをインクルードして、Neo4jにアクセスするサンプルを作る。

【解説】
1)neo4jphpのインストール
https://github.com/jadell/neo4jphpからソースをダウンロードして解凍してください。
できたneo4jphp-masterフォルダのlibの中にEverymanというフォルダがありますので、それを任意の場所においてください。
ちなみに自分は/usr/share/php/neo4j/Everymanとして置きました。

2)autoloader用のスニペットを作る

<?php
spl_autoload_register(function ($className) {
  if (strpos($className, 'Everyman\Neo4j\\') !== 0) {
    return;
  }
  $libPath = '/usr/share/php/neo4j/';  //ここで1で設置したパスを指定。Windows: 'C:\path\to\neo4jphp\lib\\';
  $classFile = str_replace('\\',DIRECTORY_SEPARATOR,$className).'.php';
  $classPath = $libPath.$classFile;
  if (file_exists($classPath)) {
      require($classPath);
  }
});

3)アクセス確認サンプル:test.php
(コメントアウトされてる部分を読んで自分に合った方法を使ってください

<?php
require('./neo4jautoload.php'); // 2)で作ったphpをインクルード

//localホストの7474ポートなら
//$client = new Everyman\Neo4j\Client();

// サーバ名やポート番号を指定する場合
//$client = new Everyman\Neo4j\Client('サーバ名かIP', 7575);

// HTTPSや認証付きNeo4jに接続する場合
$client = new Everyman\Neo4j\Client();
$client->getTransport()
//  ->useHttps()//https接続ならここのコメントアウトを取る
  ->setAuth('username', 'password');//usernameとパスワードは本番用に書き換えてください。

// Test connection to server
print_r($client->getServerInfo());

これで、php test.phpを叩いたときに

Array
(
    [extensions] => Array
        (
        )

    [node] => http://localhost:7474/db/data/node
    [node_index] => http://localhost:7474/db/data/index/node
    [relationship_index] => http://localhost:7474/db/data/index/relationship
    [extensions_info] => http://localhost:7474/db/data/ext
    [relationship_types] => http://localhost:7474/db/data/relationship/types
    [batch] => http://localhost:7474/db/data/batch
    [cypher] => http://localhost:7474/db/data/cypher
    [indexes] => http://localhost:7474/db/data/schema/index
    [constraints] => http://localhost:7474/db/data/schema/constraint
    [transaction] => http://localhost:7474/db/data/transaction
    [node_labels] => http://localhost:7474/db/data/labels
    [neo4j_version] => 2.3.1
    [version] => Array
        (
            [full] => 2.3.1
            [major] => 2
            [minor] => 3
            [release] => 1
        )

)

こんな感じの結果がでたらOKです。

 

 

「composerを使わないでneo4jphpからNeo4jに接続してみた」への1件のフィードバック

コメントは受け付けていません。