很长一段时间以来,我在 echo
周围都有自己的包装函数,所以代替:
echo 'This is an example.';
我这样做(在 CLI 脚本中):
terminal_output('This is an example.');
例如,这让我可以在终端上进行精美的文本输出。例如,我可以让它看起来像是随机延迟的“打字”。
有时,我意识到我一直在使用“echo”而不是我的包装函数,然后我不得不坐下来将它们全部更改为我的函数调用。
让我印象深刻的是,也许有某种方法可以“连接到”echo
函数,这样我就可以在任何地方使用 echo
,但可以执行任何类型的操作花哨的处理我觉得怎么样?当然,该包装函数会检查它是处于 web
还是 cli
模式,如果处于 web
模式,则始终直接输出。
我经常在 PHP 中发现像这样的隐藏“ gem ”,它们几乎没有记录或隐藏得很好,所以这次也许也是这种情况?
最佳答案
函数可以是namespaced .可以在自定义命名空间中使用相同的名称重新定义 PHP native 函数。
但是echo
是一个特例。它不是函数,而是一种语言结构。
// echo supports non-function-shape calls since it's a language construct.
echo "string", "string";
AKAIK,该语言可能不允许您使用该名称定义函数。
关于php - PHP的 "hook into"机制有什么办法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68920263/