找不到类 - 当我使用命名空间时

我学习使用命名空间,当我想使用这些名称时遇到一个错误,即:


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

我将它用于我的模型和控制器:


控制器

frontend.php -> 他需要我的 PostManager 类和 CommentManager 类,代码如下:

use Mehdi\Blog\Model\PostManager;

use Mehdi\Blog\Model\CommentManager;

require_once('model/PostManager.php');

require_once('model/CommentManager.php');

模型


CommentManager.php -> 需要数据库,这里是代码:

namespace Mehdi\Blog\Model;

use Mehdi\Blog\Model\Manager;

require_once('Manager.php');

Manager.php -> 有我的数据库,这里是代码:

namespace Mehdi\Blog\Model;

PostManager.php -> 需要数据库,这里是代码:

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; 

    }

}


PIPIONE
浏览 102回答 1
1回答

偶然的你

一切看起来都很乱。尝试遵循文件夹结构,\并在每个 PDO 类之前加上反斜杠,我希望这是 的名称,因为您位于命名空间 something\blog\something 中。系统会认为这个类也属于这个命名空间,它不属于。使用反斜杠表示它属于它真正属于的根名称空间。代码:$bdd&nbsp;=&nbsp;new&nbsp;\PDO('mysql:host=localhost;dbname=lhairdut_newsletter;charset=utf8',&nbsp;'root',&nbsp;'',&nbsp;array(\PDO::ATTR_ERRMODE&nbsp;=>&nbsp;\PDO::ERRMODE_EXCEPTION));
打开App,查看更多内容
随时随地看视频慕课网APP