gpt4 book ai didi

php - 关于 PHP 命名空间的几个问题

转载 作者:行者123 更新时间:2023-12-04 16:50:47 24 4
gpt4 key购买 nike

我正在将一个现有项目移植到命名空间,但我最终遇到了一些问题,官方文档也帮不了我。也许你们可以! :)

1) 我如何从命名空间的上一层扩展一个类?例如:

namespace MyProject\Exceptions;

abstract class Handler {

}

namespace MyProject\Exceptions\Handlers;

class Test extends \MyProject\Exceptions\Handler {

}

2) 如何将命名空间与需要回调的函数一起使用?

namespace MyProject;

class Main {
public function __construct() {
set_error_handler(array('MyProject', 'handleErrors'));
}

public function handleErrors() {
echo "hi";
}
}

最佳答案

就像其他 namespace 一样。但是,请确保转义反斜杠!

-编辑-

由于我们在这里讨论的是“现代 PHP”,我强烈建议只传递一个函数作为回调,而不是使用您构建回调的方式。如今,您可以简单地接受一个函数并将其用作回调,就像您在其他编程语言(例如 C++)中所做的那样。

namespace Foo;
function Bar($callback) { $callback(); }

// Other file
Foo\Bar(function() {
// Do something
});

关于php - 关于 PHP 命名空间的几个问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8300633/

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