找不到类-当我使用namspace

时间:2019-11-26 21:20:19

标签: php database pdo

我学会使用名称空间,当我想使用以下名称时遇到错误:

Fatal error: Uncaught Error: Class 'Mehdi\Blog\Model\PDO' not found in C:\Users\Mehdi\Desktop\PROJETS Perso\PHP - EXO\Blog- Commentaires PHP\model\Manager.php on line 9

我将其用于模型和控制器:

  1. 控制器
    • frontend.php->他需要我的PostManager类和CommentManager类,这是代码:
    use Mehdi\Blog\Model\PostManager;
    use Mehdi\Blog\Model\CommentManager;
    require_once('model/PostManager.php');
    require_once('model/CommentManager.php');
    
  2. 模型

    • CommentManager.php-> Need Database,这是代码:
    namespace Mehdi\Blog\Model;
    use Mehdi\Blog\Model\Manager;
    require_once('Manager.php');
    
    • Manager.php->有我的数据库,这是代码:
    namespace Mehdi\Blog\Model;
    
    • PostManager.php-> Need Database,这是代码:
    namespace Mehdi\Blog\Model;
    use Mehdi\Blog\Model\Manager;
    require_once('Manager.php');
    

我的数据库PDO代码:

<?php

namespace Mehdi\Blog\Model;

class Manager
{
    protected function dbConnect()
    {
        $bdd = new \PDO('mysql:host=localhost;dbname=lhairdut_newsletter;charset=utf8', 'root', '', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));    
        return $bdd; 
    }
}

1 个答案:

答案 0 :(得分:0)

一切看起来都很混乱。

  • 尝试遵循文件夹结构,
  • 并在每个单个PDO类之前加反斜杠,我希望它是\的名称,因为您位于名称空间中某事物\博客\某事物中。系统会认为此类也属于该名称空间,但不属于该名称空间。使用反斜杠,您可以说它属于它真正所属的根名称空间。

代码:

$bdd = new \PDO('mysql:host=localhost;dbname=lhairdut_newsletter;charset=utf8', 'root', '', array(\PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION));