致命错误:找不到类“SELF”

Fatal Error: Class 'SELF' not found

提问人:Madara's Ghost 提问时间:1/21/2012 更新时间:3/15/2016 访问量:3252

问:

我有以下相关代码:

try {
    self::$db = new PDO($dsn, self::USER, SELF::PASS); //Connect to the database, and store the pdo object.
    self::$db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
}
catch (PDOException $e) {
    throw new Exception("There have been an error in the connection: ". $e->getMessage());
}

执行此代码所在的静态函数时,出现以下错误:

致命错误:在第 107 行的 P:ath/to/script.php 中找不到类“SELF”

我不知道是什么原因造成的,谁能启发我?

提前致谢。

PHP

评论


答:

20赞 dorsh 1/21/2012 #1

用代替self::PASSSELF::PASS

评论

1赞 Madara's Ghost 1/21/2012
你知道,当你在一个项目上连续工作 5 个小时时,你看不到你的脚本有什么问题,即使它是如此明显?谢谢你的回答,你先回答了,所以我会接受你的回答,你们所有人都得到了赞成:D
1赞 dorsh 1/21/2012
@Truth 哦,我太清楚了:)
0赞 Madara's Ghost 1/21/2012
@JuicyScripter问题是,编辑器不会对代码施加任何内容,如果您在按住 SHIFT 的情况下编写,它不会将其转换为小写;)self
0赞 Juicy Scripter 1/21/2012
@Truth,但它可能会警告您此;)
1赞 mario 1/22/2012
嗯,PHP 不区分大小写。具体来说,类名不是。它只是关键字被这样对待(而不是在所有上下文中)。self
2赞 Gigi 1/21/2012 #2

你试过使用小写字母吗?self::P ASS 而不是 SELF::P ASS。

3赞 Juicy Scripter 1/21/2012 #3

第一行和不是一回事......selfSELF

self::$db = new PDO($dsn, self::USER, self::PASS);