Php 类别';evseevnn\Cassandra\Database';找不到

Php 类别';evseevnn\Cassandra\Database';找不到,php,cassandra,wamp,Php,Cassandra,Wamp,我试图为该名称空间调用类“evseevnn\Cassandra\Database”,但没有成功。对于这一点,我依赖于一个类似的案例,该案例本身具有相同的体系结构 架构如下: myproject\ | application\ | core\ controller.php ---------- ---------- | vendor\ |

我试图为该名称空间调用类“evseevnn\Cassandra\Database”,但没有成功。对于这一点,我依赖于一个类似的案例,该案例本身具有相同的体系结构

架构如下:

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

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

class Database {

    ......
    ......
}
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();
    }

    ------
}
这是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文件如下所示

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

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

class Database {

    ......
    ......
}
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();
    }

    ------
}
由于相同的体系结构和部署在相同的WAMP服务器中,它不起作用。我该怎么做才能修好它

你有作曲家吗

如果。。。是的

require_once 'vendor/autoload.php';
你的PHP版本是什么


名称空间仅支持PHP 5.3+

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

{
    "name": "root/testclient",
    "require": {
        "evseevnn/php-cassandra-binary": "dev-master"
    },
    "authors": [
        {
            "name": "Evseev Nikolay",
            "email": "evseevnn@gmail.com"
        }
    ]
}
controller.php文件如下所示:

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

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

class Database {

    ......
    ......
}
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();
    }

    ------
}

这对我来说很好。

您是否需要包括作曲家自动加载器?是的,我在前面的案例中这样做了。这次我下载了zip文件,解包并部署到应用程序中。我一直在谷歌上搜索,我还没有找到一种方法来使用composer来处理这个案例。这是GitHub上php驱动程序的链接,好吧,如果你没有使用composer,你不需要
包含相关的php文件吗?是的,我知道你的意思。但我需要使用composer,因为它是一个非常复杂的名称空间,包含多个文件夹中的许多其他文件调用的文件。你能帮我解决这个问题吗?如果我理解正确的话,你想使用Composer的autoloader来处理未随Composer一起安装的依赖项吗?我相信composer会在您添加依赖项时生成自动加载文件,所以我不确定这是否可行。不过,您可以通过将依赖项添加为Composer依赖项,删除
vendor/evseevnn/
文件夹,然后将zip文件解压缩到该位置,从而将某些内容整合到一起。