我正在尝试从另一个文件创建一个类的对象。两个文件都位于同一个文件夹中。我在两个文件中都使用了'namespace App'。在登录文件中,我正在尝试获取类对象,但无法找到该类。代码如下。
数据库类:'Database.php'
<?php
namespace App;
require_once 'config.php';
class Database{
private $db;
public function __construct(){
$this->db = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);
}
public function getConnection(){
return $this->db;
}
login.php文件:
<?php
namespace App;
use App\Database;
require_once 'config.php';
$DB = new Database();
$con = $DB->getConnection;
当我执行login.php时,它显示致命错误:未捕获错误:第10行的login.php中找不到类'App \ Database'
答案 0 :(得分:2)
use \App\Database;
您想告诉PHP在命名空间根目录中搜索App
命名空间,如果它在哪里。
App
命名空间: use Database;
您想告诉PHP在当前命名空间中搜索Database
,如果它在哪里。
如果您在另一个命名空间(例如\Blob
)中,则从根\App\Database
引用,如上所述。
namespace App; use App\Database;
目前正在寻找\ App \ App \ Database,因此告诉您App\Database
名称空间中找不到\App
。
答案 1 :(得分:2)
我认为您缺少要求数据库文件。此外,通过以下方式调用该方法。您正在调用不可用的属性getConnection。
<?php
namespace App;
require_once 'config.php';
require_once 'Database.php';
use App\Database;
$DB = new Database();
$con = $DB->getConnection();
答案 2 :(得分:0)
如果您在以下位置引用命名空间:
namespace App;
您无需在“使用&#39;。
中包含命名空间namespace App;
use Database;