gpt4 book ai didi

php:使用带有类别名的扩展

转载 作者:可可西里 更新时间:2023-11-01 01:02:35 24 4
gpt4 key购买 nike

我在两个不同的命名空间中有类,例如:

Controller 在\Core,索引在\Public

在我的 index.php 中,所有\Core 类都有一个 class_alias,因此您可以直接调用它们:$controller = new Controller();。这没有问题。

我的问题是当我尝试扩展类(class)时。由于 Index 和 Controller 位于不同的命名空间中,它会尝试在\Public 命名空间中查找 Controller,因此这不起作用:

<?php
namespace Panel\Pub;

class Index extends Controller {

有没有办法解决这个问题,以便我可以在 extends 函数中使用类别名?我知道我可以使用\Core\Controller 并且它会起作用,但我正在尝试使用别名来使核心功能更容易访问。

编辑:找到一个解决方法在做了更多测试之后,我发现在扩展中的别名前面使用\似乎可行。不如 no\理想,但目前最好的解决方案导致:

class Index extends \Controller { }

仍在寻找有关变通方法或扩展 Controller 的不同方法的其他建议。

谢谢!

最佳答案

当您使用命名空间时,您使用命名空间中的完整路径

class Index extends \Public\Controller { }

\ 代表您的命名空间的根。


另一种方法是使用 use 关键字

namespace Panel\Pub;
use \Public\Controller as Controller
class Index extends Controller { }

关于php:使用带有类别名的扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19943995/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com