0

我正在尝试在 php neo4j-php-client中实现 Graphaware\neo4j 客户端

我运行 composer 将文件下载到工作目录 .www 并尝试使用启动客户端

require_once(BASEPATH.'vendor/autoload.php');

use GraphAware\Neo4j\Client\ClientBuilder;

$client = ClientBuilder::create()->addConnection('default', 'http://neo4j:myPassword@localhost:7474')->build();

我得到这个错误。

<b>Fatal error</b>:  Class 'GraphAware\Neo4j\Client\ClientBuilder' not found in <b>*path_to_my_www_dir\index.php*</b> on line <b>36</b><br />

为什么我会看到这个?

4

3 回答 3

3

我是 GraphAware Neo4j Client 的维护者。

我敢打赌,您在阅读存储库的 README 时会感到不安。

当前的 master 分支包含 4.0@alpha 的代码,因此如果您在命令行composer require graphaware/neo4j-php-client中运行,很有可能 composer 安装了该3.X系列中的最后一个稳定版本,因此所需的类不存在。

我建议您尝试通过运行安装 alpha7 版本的客户端:

composer require graphaware/neo4j-php-client:^4.0@alpha

如果您有其他问题,请告诉我

于 2016-03-31T10:20:03.817 回答
1

我们也遇到了neo4j-php-client不支持 PHP 5.5 的问题。虽然“正确”的解决方案是升级到较新版本的 PHP,但它并不是最方便的——特别是如果您只是想开始评估这个库。需要 PHP >= 5.6的唯一原因是 Neo4j 的bolt协议,所以只要您坚持使用该http协议,一切都会正常工作。不过,为了composer玩得好,您必须对' s进行一些更改neo4j-php-clientcomposer.json

  1. 更改"php": ">= 5.6""php": ">= 5.5"
  2. 替换"graphaware/neo4j-bolt": "^1.5""graphaware/neo4j-common": "^3.0"

我们最终在 Github 上分叉了这个库,然后更新了composer.json我们的neo4j-php-client. 相关部分是:

{
    ...
    "require": {
        ...
        "graphaware/neo4j-php-client": "dev-OptionalBoltSupport"
    },
    ...
    "repositories": [
        ...
        {
            "type": "vcs",
             "url": "https://github.com/wnielson/neo4j-php-client"
        }
    ]
}

完成此操作后,您可以运行composer update并且neo4j-php-client应该可以正常安装。

于 2016-11-16T23:17:19.643 回答
0

您只需要要求 vendor/autoload.php 如文档中所述。
所以require_once 'vendor/autoload.php';会解决你的问题。
问题是,即使您正在使用use ...,您的 php 文件对您尝试创建的 php 类文件一无所知。
您需要使用includerequire函数包含该文件。

于 2016-03-31T10:03:32.627 回答