我只需要加载一次xml文件。。这是一个功能
static $xml = 0;
if($xml == 0){
$xml = simplexml_load_file('themes/colors.xml');
}
这应该有效吗?如何测试文件是否只加载一次?
此函数在失败时返回false,因此您可以在调用该函数后的某个时刻检查$xml === false
是否存在。
为什么你认为它会加载不止一次?如果您认为它可能被多次加载的原因与代码的其余部分有关,则应该提取将文件加载到其自己的方法/函数中的调用。
此外,最好将对simplexml_load_file的调用封装在if语句中,以确保文件存在:
$filename = 'themes/colors.xml';
if(file_exists($filename)){
$xml = simplexml_load_file($filename);
}
如果出现错误,可以调用libxml_get_errors
来确定问题,如下所述:libxml_get_errors docs