我试图为该命名空间调用类'evseevnn\Cassandra\Database',但没有成功。为此,我依赖于一个类似的案例,在我得到它的地方,它具有相同的架构
架构如下,
myproject
|
application
|
core
controller.php
----------
----------
|
vendor
|
evseevnn
|
cassandra
|
src
Database.php
这是controller.php文件的代码片段,
use evseevnnCassandraDatabase 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 evseevnnCassandra;
use ......
use ......
class Database {
......
......
}
由于是相同的体系结构,并且部署在同一个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文件如下所示,
require APP . '/vendor/autoload.php';
use evseevnnCassandraDatabase as Database;
class Controller
{
------
------
private function openDatabaseConnection()
{
$nodes = [
DB_HOST
];
$this->db = new Database($nodes, DB_DEFAULT_KEYSPACE);
$this->db->connect();
}
------
}
这对我来说很好。