php - PHP的 "hook into"机制有什么办法吗?

标签 php echo

很长一段时间以来,我在 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/

相关文章:

php - 在一行代码中回显一些字符串和多维数组元素

php - 混淆添加 2 个时间值

java - 简单的 Java 回显服务器问题

php - 如何设置 PHP 输出的样式?

echo - 在 PHP CLI 中使用 echo?

php - 如何在 php 中不换行地回显?

php - 未找到 Laravel 基表或 View

php - 如何在 php glob() 中定义多个模式

php - 事务无法在 codeigniter 中回滚

php - 将 PHP 命名空间别名扩展为完整的命名空间字符串