当多个同名时扩展类

时间:2014-02-15 01:32:01

标签: php oop

我有以下两个文件:

/var/www/stuff/controller.php
/var/www/otherStuff/controller.php (PS, it extends the above file)

使用以下脚本执行文件/var/www/stuff/tryThis.php时,将调用哪个控制器?

require_once('/var/www/otherStuff/controller.php');
$controller=new controller();

使用以下脚本执行文件/var/www/stuff/tryThat.php时会调用哪个控制器?

$controller=new controller();

我有什么办法可以让它更明确吗?

由于

1 个答案:

答案 0 :(得分:0)

如您在条目下面的注释中所述,您不能在全局命名空间中声明两次具有相同名称的类。

但是,您可以使用命名空间执行此操作,甚至可以使用自动加载器来处理这些命名空间。或者您可以更改其中一个类的名称。

Namespace Reference
Namespace Tutorial


基本命名空间示例

stuff/controller.php

namespace stuff 

class Controller {
  ...
}

otherStuff/controller.php

namespace otherStuff

class Controller extends \stuff\Controller {
   ...
}