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