首页 > 解决方案 > 有什么方法可以“挂钩”PHP 的“回声”机制吗?

问题描述

很长一段时间以来,我都有自己的包装函数echo,而不是:

echo 'This is an example.';

我这样做(在 CLI 脚本中):

terminal_output('This is an example.');

例如,这使我可以在终端上进行精美的文本输出。例如,我可以让它看起来像是随机延迟的“输入”。

有时,我意识到我一直在使用“echo”而不是我的包装函数,然后我不得不坐下来将它们全部更改为我的函数调用。

让我感到震惊的是,也许有某种方法可以“挂钩”该echo功能,以便我确实可以echo在任何地方使用,但做任何我喜欢的花哨处理吗?当然,该包装函数会检查它是否处于模式webcli模式,如果处于模式,则始终直接输出web

我经常在 PHP 中发现像这样隐藏的“宝石”,这些“宝石”几乎没有记录或隐藏得很好,所以这次可能也是这种情况?

标签: phpecho

解决方案


函数可以命名空间。PHP 原生函数可以在自定义命名空间中使用相同的名称重新定义。

不过echo是特例。它不是一个函数,而是一种语言结构。

// echo supports non-function-shape calls since it's a language construct.
echo "string", "string";

AKAIK,该语言可能不允许您使用该名称定义函数。


推荐阅读