【问题标题】:PSR-2 namespace Fatal error: Uncaught Error: Class 'Database' not foundPSR-2 命名空间致命错误:未捕获错误:找不到类“数据库”
【发布时间】:2019-08-11 09:48:48
【问题描述】:

我目前正在学习 PSR-2 标准,命名空间让我感到困惑,因为它在我的浏览器中导致以下错误,** 致命错误:无法声明类 Database\Database 因为该名称已在 /var 中使用/www/html/config/database.php 第 6 行** 如果有人可以帮助我,我将不胜感激,非常感谢

编辑:我收到这个新错误,** 致命错误:未捕获的错误:在 /var/www/html/config/database.php:18 中找不到类 'Database\PDO' 堆栈跟踪:#0 / var/www/html/login.php(19): Database\Database->getConnection() #1 {main} 在 /var/www/html/config/database.php 第 18 行抛出**

<?php
namespace Database;

use Database;

class Database
{
    private $host = "";
    private $db_name = "";
    private $username = "";
    private $password = "";
    public $conn;

    public function getConnection()
    {

        $this->conn = null;

        try {
            $this->conn = new PDO("mysql:host=" . $this->host . ";dbname=" . $this->db_name, $this->username, $this->password);
        } catch (PDOException $exception) {
            echo "Connection error: " . $exception->getMessage();
        }

        return $this->conn;
    }
}

【问题讨论】:

  • 为什么是use Database,这是Database类,这里不需要use
  • @JensV 谢谢 - 清除了该错误,但我收到了一个新错误,我已经粘贴在上面,我尝试用谷歌搜索但找不到解决方案

标签: php


【解决方案1】:

您位于Database 命名空间中。所以你的new PDO 正在寻找Database\PDO

要解决这个问题,您需要通过 new \PDO 使用根命名空间中的 PDO

【讨论】:

  • 非常感谢,让我困惑了几个小时,非常感谢您的宝贵时间
猜你喜欢
  • 2020-09-04
  • 2019-08-09
  • 1970-01-01
  • 2023-03-25
  • 1970-01-01
  • 2018-09-06
  • 2020-09-03
  • 2018-05-11
  • 2020-11-09
相关资源
最近更新 更多