endyjasmi/neo4j

此软件包已被废弃,不再维护。未建议替代包。

PHP版Neo4j

3.0.0 2014-12-01 06:24 UTC

This package is auto-updated.

Last update: 2024-01-29 03:00:50 UTC


README

#PHP版Neo4j Gitter chat Build Status Coverage Status SensioLabsInsight Latest Stable Version Total Downloads License

这是一个仅适用于Neo4j Cypher的PHP驱动程序。该库的目标是使发送Cypher查询与发送SQL到服务器一样简单。此库不实现服务器上的每个REST端点。哦,它还原生支持Laravel框架!

###为什么只支持Cypher

有关Cypher查询语言的更多信息,您可以参考官方Cypher查询语言文档

此库的大多数应用程序编程接口(API)都受到Laravel数据库适配器的启发。

想要了解Neo4j库? 访问wiki

##简而言之

  1. 需求
  2. 安装
  3. 快速入门
  4. 开发
  5. 测试
  6. 文档
  7. 名人堂
  8. 开发者
  9. 许可证
  10. 反馈

##需求

  1. PHP 5.4及以上
  2. Neo4j 2.0及以上
  3. PHP Curl扩展gi(强烈推荐,但可选)

如果您打算使用phpdocumentor生成文档(是的,它集成到库中),请确保您的机器可以运行phpdocumentor。 以下是phpdocumentor的要求列表

##安装 此库可以通过composer安装。只需将以下内容添加到您的composer.json文件中,然后运行composer install

{
	"require": {
		"endyjasmi/neo4j": "2.*"
	}
}

##快速入门 这是开始的最简单方法。

require 'vendor/autoload.php';

$neo4j = new \EndyJasmi\Neo4j;

$result = $neo4j->match('(n:Person)')
	->output('n', 'person')
	->run();

var_dump($result[0]['n']);

上面的statement方法将返回一个包含来自服务器的行数组的实例。

$result[0]['n'] 上面的输出表示您想要获取结果的第一行和第 n 列。列名由 cypher 查询确定,在这个例子中,查询 return n 表示返回 n。

当然,这只是基本用法。对于更多高级功能,请参考Wiki

## 开发 ### 测试 为了测试这个库,您可以 git clone https://github.com/endyjasmi/neo4j.git。在根目录下,您必须执行 composer install --dev。之后,您可以通过输入 vendor/bin/phpunit 开始手动测试。

如果您想进行持续测试驱动开发(TDD),可以从根目录运行 npm install(您需要安装 nodejs)。然后,您可以从根目录运行 grunt。之后,您可以修改源代码,每次保存时,代码都会进行测试。

### 文档 如果您想生成文档,可以运行 grunt serve,它会在首次保存源代码时生成文档。这意味着您只需打开任何源文件并保存一次,文档就会生成。任何随后的保存都会触发文档生成,这意味着它总是最新的(可能会有轻微的延迟)。

## 名人堂 这个标题有点名不符实,它实际上只是列出所有以某种方式为项目做出贡献的人的章节。所以,如果您想在这里看到您的名字,您可以通过任何方式开始为项目做贡献,比如重构、文档、拼写检查,甚至可以要求我把您的名字放在这里。

## 开发者

## 许可证 本库根据以下内容许可,许可协议的完整副本可以在 LICENSE 文件中找到。

The MIT License (MIT)

Copyright (c) 2014 Endy Jasmi

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

这是我第一个开源库。请多多关照 >.<

## 反馈 您可以在endyjasmi@gmail.com向我打招呼或提出任何问题。