Class' evseevnn \ Cassandra \ Database'未找到

时间:2016-03-27 22:03:26

标签: php cassandra wamp

我试图打电话给班级' evseevnn \ Cassandra \ Database'对于该命名空间没有成功。为此我依赖于一个类似的案例,在我得到它的同时拥有相同的架构。

架构如下,

myproject\
    |
    application\
        |
        core\
            controller.php
    ----------
    ----------
        |
        vendor\
            |
            evseevnn\
                |
                cassandra\
                    |
                    src\
                        Database.php

这是controller.php文件代码段

use \evseevnn\Cassandra\Database as Database;
//require '../vendor/src/evseevnn/cassandra/Database.php';

class Controller
{

    public $db = null;

    public $model = null;

    function __construct()
    {
        $this->openDatabaseConnection();
        ......
    }

    private function openDatabaseConnection()
    {
        $nodes = [
            DB_HOST
        ];

        $this->db = new Database($nodes, DB_DEFAULT_KEYSPACE);
        $this->db->connect();
    }

    .......
    .......
}

和database.php文件如下,

namespace evseevnn\Cassandra;

use ......
use ......

class Database {

    ......
    ......
}

作为相同的体系结构并部署在同一个WAMP服务器中,它不起作用。我该怎么做才能解决它?

2 个答案:

答案 0 :(得分:0)

  

你有作曲家吗?

如果......是..

require_once 'vendor/autoload.php';
  

您的PHP版本是什么?

命名空间仅启用PHP 5.3 +

答案 1 :(得分:0)

这是我用来安装驱动程序的composer.json文件,

{
    "name": "root/testclient",
    "require": {
        "evseevnn/php-cassandra-binary": "dev-master"
    },
    "authors": [
        {
            "name": "Evseev Nikolay",
            "email": "evseevnn@gmail.com"
        }
    ]
}

controller.php文件如下所示,

require APP . '/vendor/autoload.php';
use evseevnn\Cassandra\Database as Database;

class Controller
{

    ------
    ------

    private function openDatabaseConnection()
    {
        $nodes = [
            DB_HOST
        ];

        $this->db = new Database($nodes, DB_DEFAULT_KEYSPACE);
        $this->db->connect();
    }

    ------
}

这对我来说很好。