【发布时间】:2011-06-27 21:04:04
【问题描述】:
我今天在使用 php 时遇到了一些非常奇怪的错误。
我为 A/B 测试编写了一个小类,并想在我的 php 文档中创建一个新实例:
if(!class_exists('ab_tester')) include('../lib/php/ab_tester.php');
$ab = new ab_tester($user['id']);
有人会认为这应该可以解决问题,但 php 说:
Fatal error: Cannot redeclare class ab_tester in [PATH_TO_PHP]ab_tester.php on line 10
为什么会这样?
注意:ab_tester.php 的第 10 行如下所示:
class ab_tester {
如果我离开包含行,创建一个新的 ab_tester 实例,它会吐出:
Fatal error: Class 'ab_tester' not found in [PATH_TO_PHP]returning.php on line 25
我现在该怎么办?如果我尝试导入它,它已经存在,如果我不导入,它就丢失了。
【问题讨论】:
-
class ab_tester在您的类文件中出现多次吗?可能是这样... -
不,它没有。然后错误不会在文件的开头抛出,我想:/
-
你能告诉我们你文件的前 10 行吗?
-
找到了。在代码河下游的包含文件(returning.php)中,还有另一个类文件的“包含”。可悲的是,PHP 调试器在类文件本身中指出了错误。这没有帮助=]