Использование «Neoxygen / Neoclient» в качестве ServiceProvider + Facade в Laravel 5.1

[EDIT]: Хорошо, я обновил этот пост несколько раз во время моих тестов, и теперь он работает … Я даю правильный код ниже … [/ EDIT]

С сегодняшнего утра я пытаюсь использовать «Neoxygen / Neoclient» как ServiceProvider и Facade в новую новую установку Laravel 5.1

Для этого мне нужен «неоксиген / неоклиент»: «^ 3.0» в моем composer.json

Затем я создал новый ServiceProvider в «app / Providers» под названием «NeoClientServiceProvider».

В своем методе регистрации; Я создал экземпляр соединения:

public function register() { $this->app->singleton('neoclient', function ($app) { return ClientBuilder::create() ->addConnection('default', 'http', env('NEO4J_HOST'), intval(env('NEO4J_PORT')), true, env('NEO4J_USER'), env('NEO4J_PASSWORD')) ->setDefaultTimeout( intval(env('NEO4J_TIMEOUT')) ) ->setAutoFormatResponse(true) ->build(); }); } 

Затем я зарегистрировал ServiceProvider в «config / app.php», включив полный класс в моих провайдеров и установив псевдоним:

 'providers' => [ ... App\Providers\NeoClientServiceProvider::class ... ], 'aliases' => [ ... 'NeoClient' => App\NeoClient::class ... ] 

Я также создал класс NeoClient, который расширяет Facade следующим образом:

 <?php namespace App; use \Illuminate\Support\Facades\Facade; class NeoClient extends Facade { /** * Get the registered name of the component. * * @return string */ protected static function getFacadeAccessor() { return 'neoclient'; } } 

И, наконец, у меня есть такой контроллер:

 <?php namespace App\Http\Controllers; use NeoClient; class GenreController extends Controller { public function __construct() { // needed authentication //$this->middleware('oauth'); } public function create() { $data = NeoClient::sendCypherQuery("MATCH (g:Genre) RETURN COUNT(g) AS total")->getRows(); return response()->json($data); } } 

PS: Я знаю, что «NeoEloquent» существует, но я не хочу использовать этот …

++

Фред.

Конечно, вы можете! Вот ссылка клиента:

https://github.com/graphaware/neo4j-php-client

++