使用foreach循环和DirectoryIterator函数动态创建一个新的类对象

时间:2012-01-16 14:12:20

标签: php

我有一个将XML文档解析为数组的类。

我想要解析2个XML文档,并希望使用foreach循环和DirectoryIterator函数动态创建新的类对象。

到目前为止,这是我的尝试:

$settingsIterator = new DirectoryIterator(SETTINGS_PATH);

foreach ($settingsIterator as $fileInfo) {

    if ($fileInfo->isFile()) {

        $xmlFileObjName = strtolower(str_replace(".xml", "", $fileInfo->getFilename()));
        ${$xmlFileObjName} = new XML();
        ${$xmlFileObjName}->loadXML(SETTINGS_PATH . $fileInfo->getFilename());
    }
}

但当然这不起作用。有没有办法完成这样的事情?

我的最终目标是让我的脚本执行迭代遍历我的settings文件夹,并从目录中的每个xml文件创建新的XML对象。

1 个答案:

答案 0 :(得分:1)

如果以后必须访问这些XML对象,最好将它们存储在关联数组中:

$xmlObjects = array();
$xmlObjects[$xmlFileObjName] = new XML();