如何连接到SphinQL Query Builder?

Tuh*_*hin 0 php sphinxql

我正在使用Ubuntu 12.04 + PHP + Nginx + MySQL 5.6

我的项目路径是/ usr/share/nginx/www/project1

我成功安装了Sphinx并能够连接完整的API.但我喜欢使用SphinxQL Query Builder.

我不熟悉composer和php命名空间.我在我的机器上安装了作曲家.

我将"SphinxQL-Query-Builder-master"文件夹复制到我的项目根目录.

现在我执行了这个

use Foolz\SphinxQL\SphinxQL;
use Foolz\SphinxQL\Connection;

// create a SphinxQL Connection object to use with SphinxQL
$conn = new Connection();
$conn->setParams(array('host' => 'domain.tld', 'port' => 9306));

$query = SphinxQL::create($conn)->select('column_one', 'colume_two')
->from('index_ancient', 'index_main', 'index_delta')
    ->match('comment', 'my opinion is superior to yours')
    ->where('banned', '=', 1);

$result = $query->execute();
Run Code Online (Sandbox Code Playgroud)

这将返回致命错误:找不到类'Foolz\SphinxQL\Connection'

任何人都可以帮我一步一步指导吗?

谢谢!!

小智 6

Composer本身不是你的项目的要求,它是php包管理器.您可以使用以下命令安装Foolz\SphinxQL库:

php composer.phar require foolz/sphinxql-query-builder
Run Code Online (Sandbox Code Playgroud)

如果您的项目文件夹中不存在composer.phar,您可以使用以下命令下载它:

php -r "readfile('https://getcomposer.org/installer');" | php
Run Code Online (Sandbox Code Playgroud)

成功安装后,SphinxQL库将下载到vendor文件夹.此外,您还需要使用composer vendor/autoload.php生成的自动加载脚本,并在使用之前更改主机/端口配置.

最后,您的代码示例应如下所示:

require "vendor/autoload.php";
use Foolz\SphinxQL\SphinxQL;
use Foolz\SphinxQL\Connection;

// create a SphinxQL Connection object to use with SphinxQL
$conn = new Connection();
// Here sphinx installation host and port listening for Mysql connection 
$conn->setParams(array('host' => '127.0.0.1', 'port' => 9306));

$query = SphinxQL::create($conn)->select('column_one', 'colume_two')
    ->from('index_ancient', 'index_main', 'index_delta')
    ->match('comment', 'my opinion is superior to yours')
    ->where('banned', '=', 1);

$result = $query->execute();
Run Code Online (Sandbox Code Playgroud)