2012-02-22 237 views
1

使用SPLFixedArray我有一个命名空间中声明这样:在命名空间

namespace MySpace { 

    $array = new SPLFixedArray(); 

} 

错误我得到的是:

致命错误:类 '的MySpace \ SplFixedArray' 没有发现在C:\ XAMPP \ htdocs中\第25行的private \ config.php

是否有为所有SPL函数定义的名称空间,还是我在这里做了不正确的事情? 划痕头

回答

2

要从全局命名空间中使用类,与命名空间分隔它们的前缀:

$array = new \SplFixedArray; 

或别名他们像任何其他命名空间中的类:

use \SplFixedArray; 
// ... 
$array = new SplFixedArray; 
+0

好极了!谢谢,我在想这是一个全局命名空间......为什么他们不把这些方法全局化,没有命名空间定义者?爱。 – ddibiase 2012-02-22 04:52:51

+0

因为在命名空间代码中,所有东西都必须有一个命名空间。这可以让你定义自己的名为'SplFixedArray'的类,并将其保存在'MySpace'中,而不会覆盖(与全局冲突)。您只需像'MySpace \ SplFixedArray'而不是'\ SplFixedArray'那样访问它。 – FtDRbwLXw6 2012-02-22 12:44:32