【发布时间】:2013-11-25 11:26:22
【问题描述】:
我在两个不同的命名空间中有类,例如:
控制器在 \Core 中, 索引在 \Public
在我的 index.php 中,我有一个用于所有 \Core 类的 class_alias,因此您可以直接调用它们:$controller = new Controller();。这没有问题。
我的问题是当我尝试扩展课程时。由于 Index & Controller 位于不同的命名空间中,它会尝试在 \Public 命名空间中查找 Controller,因此这不起作用:
<?php
namespace Panel\Pub;
class Index extends Controller {
有什么办法可以解决这个问题,以便我可以在扩展函数中使用类别名?我知道我可以使用 \Core\Controller 并且它会工作,但我正在尝试使用别名来使核心功能更易于访问。
编辑:找到一种解决方法 在进行了更多测试之后,我发现在扩展中的别名前面使用 \ 似乎有效。不如 no 理想,但目前最好的解决方案是:
class Index extends \Controller { }
仍在寻找有关解决方法或扩展控制器的不同方法的其他建议。
谢谢!
【问题讨论】:
标签: php namespaces extends aliases