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


create a new class object on the fly using a foreach loop and the DirectoryIterator functions

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

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

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

$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());
    }
}

但这当然行不通。有没有一种方法可以完成这样的事情?

我的最终目标是让我的脚本在执行时遍历我的设置文件夹,并从目录中的每个XML文件创建新的XML对象。

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

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