为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
PIPIONE 2022-05-27 10:00:37
我学习使用命名空间,当我想使用这些名称时遇到一个错误,即: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 代码:<?phpnamespace 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 回答

?
偶然的你

TA贡献1841条经验 获得超3个赞

一切看起来都很乱。

  • 尝试遵循文件夹结构,

  • \并在每个 PDO 类之前加上反斜杠,我希望这是 的名称,因为您位于命名空间 something\blog\something 中。系统会认为这个类也属于这个命名空间,它不属于。使用反斜杠表示它属于它真正属于的根名称空间。

代码:

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


查看完整回答
反对 回复 2022-05-27
  • 1 回答
  • 0 关注
  • 101 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信