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

Php 使用foreach循环和DirectoryIterator函数动态创建新的类对象,php,Php,我有一个将XML文档解析为数组的类 我有两个XML文档要解析,并希望使用foreach循环和DirectoryIterator函数动态创建一个新的类对象 到目前为止,这是我的尝试: $settingsIterator = new DirectoryIterator(SETTINGS_PATH); foreach ($settingsIterator as $fileInfo) { if ($fileInfo->isFile()) { $xmlFileObjNa

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

我有两个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());
    }
}
但这当然行不通。有没有办法完成这样的事情


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

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

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

是否有特殊原因使新对象必须保存在与文件同名的变量中?如果是,您正在寻找变量:$$xmlFileObjName=new……是的,因为我不知道该变量将被调用。我决定给它一个被解析的xml文件的名称。因此,如果我有一个language.xml文件,那么它看起来像
$language=newxml()$
$xmlFile->loadXML?看起来你无缘无故地把事情复杂化了:)是的,但这是一个我想经历的自动化过程。因此,我可以将尽可能多的XML文件添加到我的dir中,并让它可以随时访问