php - 覆盖默认的php函数

标签 php function overriding

我有一个脚本,其中 basename() 被使用了 100 到 1000 秒,我只是在想我们是否可以覆盖该函数,而不是在所有脚本中将函数名称更改为其他名称。

basename() 的问题在于它不能很好地处理外语文件名。我在 php 网站上找到了一个 http://php.net/manual/en/function.override-function.php但它需要 PECL 还有其他选择吗?

最佳答案

您可以使用命名空间来覆盖现有的函数名称:

namespace blarg;
function basename() {
  return 'whatever';
}
$base = basename();

即,在 blarg 命名空间内对 basename() 的任何调用都将使用该函数的新版本。

关于php - 覆盖默认的php函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3927995/

相关文章:

php - 获取一个月中的第一个或最后一个星期五

javascript - ES6 类方法在 forEach 循环内不返回任何内容

javascript - 比较 JavaScript 中的两个函数

java - 特定于子类的代码——我应该使用抽象基类方法还是接口(interface)?

php - 添加两个 mysql 列并返回总计时遇到问题

php - 解码字符串中的符号

javascript - 有了 HTML5、JavaScript 和 AJAX,还需要 PHP、ASP.NET 和 J2EE 后端吗?

c++ - 我可以在构造函数参数中定义要在函数指针中使用的函数吗

java - 最好更改 parent 的领域或覆盖 setter/getter ?

java - 覆盖方法