Проблема с пространством имен? или что-то другое?

Я пытаюсь реализовать клиент Graphaware \ neo4j в php
Neo4j-PHP-клиент

Я запустил 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 />

Почему я вижу это?

0

Решение

Я поддерживаю GraphAware Neo4j Client.

Держу пари, что вы были обеспокоены чтением README из репозитория.

Текущая ветка master содержит код для 4.0@alpha, поэтому, если вы запускаете в командной строке composer require graphaware/neo4j-php-client велики шансы, что композитор установил последнюю стабильную версию в 3.X серия и, следовательно, требуемый класс не существует там.

Я бы посоветовал вам попробовать установить альфа-версию клиента, выполнив:

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

Дайте мне знать, если у вас есть другие проблемы

3

Другие решения

Мы столкнулись с проблемой с neo4j-php-client также не поддерживает PHP 5.5. Хотя «правильное» решение состоит в том, чтобы перейти на более новую версию PHP, это не совсем удобно — особенно если вы просто хотите начать оценивать эту библиотеку. Единственный причина что PHP> = 5.6 требуется для Neo4j bolt протокол, так что пока вы придерживаетесь http вместо протокола все будет работать нормально. Чтобы получить composer чтобы играть хорошо, вы должны сделать несколько изменений в neo4j-php-client«s composer.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 следует установить нормально.

1

Вам просто нужно потребовать vendor / autoload.php, как сказано в документации.
Так require_once 'vendor/autoload.php'; решит вашу проблему.
Проблема в том, что даже если вы используете use ...ваш php-файл ничего не знал о файле php, который вы пытаетесь создать.
Вы должны включить этот файл, используя включают или же требовать функция.

0
По вопросам рекламы [email protected]