【问题标题】:How to parse .ini file and generate code in php如何解析.ini文件并在php中生成代码
【发布时间】:2016-02-08 14:05:48
【问题描述】:

我是 .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"的标识符php 中"required" => 1,1 标识符和"placeholder" => "*Bedrijf:", 的最后一个"*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);

【问题讨论】:

    标签: php ini


    【解决方案1】:

    这对我有帮助

    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'],
                    )
                ));
            }
    
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-21
      • 1970-01-01
      • 2015-10-13
      • 2011-05-30
      • 1970-01-01
      • 2012-11-18
      • 1970-01-01
      • 2021-01-06
      相关资源
      最近更新 更多