如何解析 .ini 文件并在 php 中生成代码

How to parse .ini file and generate code in php

我是 .ini 和 php 的新手。我正在使用 PFBC 生成表单域。这是生成一个表单域的代码示例:

$form->addElement(new Element\T_COMPANY("", "company", array(
"required" => 1,
"placeholder" => "*Bedrijf:",
)));

我需要读取一个 .ini 文件并根据该 .ini 中的内容生成一行或多行代码来制作表单域。 .ini 文件将包含类似 :

的内容
fields[company] = T_COMPANY,"","company",1,"*Company"

其中 T_COMPANY 是生成此代码块的标识符 $form->addElement(new Element\T_COMPANY( 接下来 "" 是 php 代码中 "" 的标识符 接下来 "company" 是 php 代码中 "company" 的标识符 接下来 1 标识符 php 中 "required" => 1, 和最后一个 "*Bedrijf" "placeholder" => "*Bedrijf:", 的标识符 关于如何执行此操作的任何想法?

我尝试使用 foreach 来构造语法,但不起作用

foreach ($formConfig as $elementConfig) {
    switch (strtolower($elementConfig['type'])) {
    case 'text':
        $className = 'Element\T_COMPANY';
            break;
    default:
      throw new Exception();
      break;
  }
  $formElement = new $className("", "Required", array( 
    "required" => 1,
    "placeholder" => "*Bedrijf:",
    ));
  $form->addElement($formElement);
}
$form = new Form($formConfig);

这对我有帮助

foreach ($ini_array['FORM_SETTINGS'] as $type => $fieldsData) {

        if ($fieldsData['type'] == 'HTML'){
                $className = "PFBC\Element\{$fieldsData['type']}";
                $form->addElement(new $className($fieldsData['string']
                ));
            continue;}

        if ($fieldsData['required'] == true){
            $className = "PFBC\Element\{$fieldsData['type']}";
            $form->addElement(new $className($fieldsData['label'], $fieldsData['id'], array(
            'required' => $fieldsData['required'],
            'placeholder' => $fieldsData['placeholder'],
                )
            ));
        }

        if ($fieldsData['required'] == false){
            $className = "PFBC\Element\{$fieldsData['type']}";
            $form->addElement(new $className($fieldsData['label'], $fieldsData['id'], array(
            'placeholder' => $fieldsData['placeholder'],
                )
            ));
        }


}