0

我一直遇到想使用str_getcsv()or之类的有用函数的问题quoted_printable_encode(),但发现它仅在 PHP 5.3 之间出现。我希望我正在编写的这段代码至少与 5.2 兼容,但我不想编写一堆专门的代码。

我已经养成了从 PHP.net 注释中获取替代函数的习惯,将它们存储在有用的命名文件中,如func.quoted_printable_encode.php,并在每个我想调用它们的地方编写如下所示的块。

if( ! function_exists('quoted_printable_encode') ) {
    $funcfile = 'func.quoted_printable_encode.php';
    if( file_exists($funcfile) && is_readable($funcfile) ) {
        require('func.quoted_printable_encode.php');
    } else {
        Throw new Exception('Cannot invoke function: quoted_printable_encode');
    }
}

这似乎与__autoload()类和__call()对象方法非常相似,但我找不到任何关于全局函数的信息。这样的事情是否存在,还是我必须将所有这些额外的功能硬塞到某个头文件中?

4

1 回答 1

1

没有办法在 PHP 中自动加载函数。有一个 RFC,但尚未实施(可能不会实施)。

如果你真的想自动加载函数,那么创建一个帮助类将函数实现为静态方法可能是有意义的。在框架中这样做是 常见的。

于 2013-02-08T00:25:51.633 回答