Php 类别';evseevnn\Cassandra\Database';找不到
我试图为该名称空间调用类“evseevnn\Cassandra\Database”,但没有成功。对于这一点,我依赖于一个类似的案例,该案例本身具有相同的体系结构 架构如下:Php 类别';evseevnn\Cassandra\Database';找不到,php,cassandra,wamp,Php,Cassandra,Wamp,我试图为该名称空间调用类“evseevnn\Cassandra\Database”,但没有成功。对于这一点,我依赖于一个类似的案例,该案例本身具有相同的体系结构 架构如下: myproject\ | application\ | core\ controller.php ---------- ---------- | vendor\ |
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文件解压缩到该位置,从而将某些内容整合到一起。