仅加载xml一次

时间:2014-09-02 13:47:03

标签: php xml

我只需加载一次xml文件.. 这是一个函数

    static $xml = 0;
    if($xml == 0){
        $xml =  simplexml_load_file('themes/colors.xml');
    }

这应该有用吗?如何测试文件是否只加载一次?

1 个答案:

答案 0 :(得分:0)

此函数在失败时返回false,因此您可以在调用函数后检查$xml === false是否在某个时刻。

为什么你认为它会不止一次加载?如果您认为可能多次加载的原因与其余代码有关,则应提取调用以将文件加载到其自己的方法/函数中。

另外,最好将一个ifx语句调用simplexml_load_file,以确保该文件存在:

$filename = 'themes/colors.xml';
if(file_exists($filename)){
  $xml =  simplexml_load_file($filename);
}

如果出现错误,您可以致电libxml_get_errors来确定问题,如下所述:libxml_get_errors docs