我一直在遇到需要使用str_getcsv()
或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()
类似,但我找不到任何关于全局函数的内容。这样的事情是否存在,或者我是否必须将所有这些额外的功能转移到某个头文件中?