命名空间问题?或者是其他东西?

时间:2016-03-31 10:01:32

标签: php neo4j namespaces graphaware

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

我运行作曲家将文件下载到工作目录 并尝试使用

启动客户端
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 />

我为什么看到这个?

3 个答案:

答案 0 :(得分:3)

我是GraphAware Neo4j Client的维护者。

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

当前主分支包含4.0@alpha的代码,因此如果您在命令行composer require graphaware/neo4j-php-client中运行,那么作曲家在3.X系列中安装最后一个稳定版本的可能性很高,因此需要那里不存在阶级。

我建议你尝试运行:

来安装客户端的alpha7版本

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

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

答案 1 :(得分:1)

我们遇到了neo4j-php-client不支持PHP 5.5的问题。虽然“正确”的解决方案是升级到更新版本的PHP,但它并不是最方便的 - 特别是如果您只想开始评估此库。需要PHP&gt; = 5.6的唯一reason用于Neo4j的bolt协议,因此只要您坚持使用http协议,一切都会正常工作。为了让composer更好玩,您必须few changesneo4j-php-client composer.json

  1. "php": ">= 5.6"更改为"php": ">= 5.5"
  2. "graphaware/neo4j-bolt": "^1.5"替换为"graphaware/neo4j-common": "^3.0"
  3. 我们最终在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 updateneo4j-php-client应安装正常。

答案 2 :(得分:0)

您只需要在文档中说明vendor / autoload.php 因此require_once 'vendor/autoload.php';会解决您的问题 问题是,即使您使用的是use ...,您的php文件也不会对您尝试创建的php类文件有所了解。
您需要使用includerequire函数包含该文件。