使用“Neoxygen / Neoclient”作为ServiceProvider + Facade进入Laravel 5.1

时间:2015-07-16 11:30:27

标签: php laravel neo4j neoxygen

[编辑]:好的,我在测试期间多次更新了这篇文章,现在它正在运行......我在下面给出了正确的代码...... [/ EDIT]

从今天早上开始,我正在尝试将“Neoxygen / Neoclient”作为ServiceProvider和Facade用于Laravel 5.1的全新安装

为此,我在composer.json中需要“neoxygen / neoclient”:“^ 3.0”

然后我在“app / Providers”中创建了一个名为“NeoClientServiceProvider”的新ServiceProvider。

在其注册方法中;我已经实例化了连接:

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

接下来,我在“config / app.php”中注册了ServiceProvider,方法是在我的提供程序中包含Full Class并设置别名:

<?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'; }
}

我还创建了一个NeoClient类,它扩展了Facade,如下所示:

<?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);
}

}

最后我有一个像这样的控制器:

{{1}}
PS:我知道“NeoEloquent”存在,但我不想使用这个......

++

佛瑞德。

1 个答案:

答案 0 :(得分:0)

当然你可以!这是客户的链接:

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

++