如何在具有相同名称空间的另一个类中使用一个类?

时间:2012-09-20 01:41:28

标签: php class namespaces autoload spl

我在我的项目中使用了spl_autoload,但是当我尝试以下代码时,它给了我这个错误:

  

致命错误:

中未找到“路由器\路由”类

//路由器文件

<?php
namespace Router;
class Router{
function foo(){
new Route();
}
?>

//路线档案

<?php
namespace Router;
class Route{}
?>

有任何帮助吗?我对命名空间很新。

1 个答案:

答案 0 :(得分:0)

您可以使用其他命名空间中的类,但不能使用相同名称的两个命名空间(这会破坏该点)。

// In one file.
namespace Router;
class Router{
  function foo(){
    use Route as r;
    new r\Route();
  }
}

// In another file.
namespace Route;
class Route{}