从include创建类的实例时出错

时间:2016-05-30 19:58:52

标签: php namespaces include

很抱歉,如果这是转贴。我一直在读同一个问题的答案一个小时,但没有一个答案真的有帮助。

我有一个看起来像这样的文件。

<?php
namespace GA\Db;

require '/Users/brickman/work/r2s/library/GA/Db/Base.php';

if ( ! class_exists('Base')) 
    die('There is no hope!');

- 老问题 我已经通过跟踪查找器检查了我的目录,并使用查找器中的文本编辑器读取它,它绝对是我正在寻找的文件。我也知道我正在访问该文件,因为如果我放置一个不存在的路径,我会收到一个找不到文件的错误。

存在整个文件以定义类Base。

但是当我检查该类是否存在时,如果我可以创建它的实例,它告诉我它不存在。

是什么给出了?

- 更新

它现在正在运作。这与我如何引用课程有关。它想要这个:

<?php
namespace GA\Db;

error_reporting(E_ALL); ini_set('display_errors', 1);

require '/Users/brickman/work/r2s/library/GA/Db/Base.php';

$test = new Base;

现在我的include文件中有一个缺少类的错误,但这是无关的。谢谢

1 个答案:

答案 0 :(得分:0)

如果使用别名来导入命名空间类,请注意class_exists不能使用短的别名类名 - 显然,只要将类名用作字符串,就只能使用完整命名空间版本

--is-shallow-repository