php在使用命名空间时找不到类
我正在尝试从另一个文件生成类的对象。这两个文件都位于同一个文件夹中&我在这两个文件中都使用了“namespace App”。在登录文件中,我试图获取类对象,但它找不到类。代码如下所示 数据库类:“Database.php”php在使用命名空间时找不到类,php,Php,我正在尝试从另一个文件生成类的对象。这两个文件都位于同一个文件夹中&我在这两个文件中都使用了“namespace App”。在登录文件中,我试图获取类对象,但它找不到类。代码如下所示 数据库类:“Database.php” <?php namespace App; require_once 'config.php'; class Database{ private $db; public function __construct(){
<?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;
}
- 如果您在根命名空间中:
use\App\Database
您希望告诉PHP在名称空间根中搜索App
名称空间,如果它在那里的话
- 如果您在
应用程序
命名空间中:
使用数据库
您希望告诉PHP在当前名称空间中搜索数据库
,如果它在那里的话
- 如果您在另一个命名空间中:
如果您在另一个名称空间(如\Blob
)中,则从根目录引用\App\Database
,如上所述
当前正在查找\App\App\Database,因此告诉您在\App
命名空间中找不到App\Database
- 如果您在根命名空间中:
use\App\Database
您希望告诉PHP在名称空间根中搜索App
名称空间,如果它在那里的话
- 如果您在
应用程序
命名空间中:
使用数据库
您希望告诉PHP在当前名称空间中搜索数据库
,如果它在那里的话
- 如果您在另一个命名空间中:
如果您在另一个名称空间(如\Blob
)中,则从根目录引用\App\Database
,如上所述
当前正在查找\App\App\Database,因此告诉您在\App
命名空间中找不到App\Database
我认为您缺少所需的数据库文件。另外,通过以下方式调用该方法。您正在调用不可用的属性getConnection
<?php
namespace App;
require_once 'config.php';
require_once 'Database.php';
use App\Database;
$DB = new Database();
$con = $DB->getConnection();
我认为您缺少对数据库文件的要求。另外,通过以下方式调用该方法。您正在调用不可用的属性getConnection
<?php
namespace App;
require_once 'config.php';
require_once 'Database.php';
use App\Database;
$DB = new Database();
$con = $DB->getConnection();
如果在中引用命名空间:
namespace App;
然后不需要在“use”中包含名称空间
namespace App;
use Database;
如果在中引用命名空间,请执行以下操作:
namespace App;
然后不需要在“use”中包含名称空间
namespace App;
use Database;
使用数据库
如果您与所使用的类位于相同的\App
命名空间中。使用数据库
如果您与您使用的类位于同一个\App
名称空间中。因此,尽管我使用名称空间,但我必须始终要求文件发生事件?是的@MisbahAhmadIs有没有办法避免require?@MisbahAhmad是:如果您不想每次都使用require,请使用php的spl_autoload_register()函数自动调用class@MisbahAhmadSo,尽管我使用名称空间,但我必须始终要求文件事件?是的@MisbahAhmadIs有没有办法避免要求?@MisbahAhmad是:如果不想每次都使用require,请使用php的spl_autoload_register()函数自动调用class@MisbahAhmad