InfyOm\Generator\Utils\GeneratorFieldsInputUtil::prepareKeyValueArrayStr PHP Method

prepareKeyValueArrayStr() public static method

public static prepareKeyValueArrayStr ( $arr )
    public static function prepareKeyValueArrayStr($arr)
    {
        $arrStr = '[';
        foreach ($arr as $item) {
            $arrStr .= "'{$item}' => '{$item}', ";
        }
        $arrStr = substr($arrStr, 0, strlen($arrStr) - 2);
        $arrStr .= ']';
        return $arrStr;
    }

Usage Example

 private function generateFields()
 {
     $this->htmlFields = [];
     foreach ($this->commandData->inputFields as $field) {
         if (!$field['inForm']) {
             continue;
         }
         switch ($field['htmlType']) {
             case 'text':
             case 'textarea':
             case 'date':
             case 'file':
             case 'email':
             case 'password':
             case 'number':
                 $fieldTemplate = TemplateUtil::getTemplate('scaffold.fields.' . $field['htmlType'], $this->templateType);
                 break;
             case 'select':
             case 'enum':
                 $fieldTemplate = TemplateUtil::getTemplate('scaffold.fields.select', $this->templateType);
                 $inputsArr = explode(',', $field['htmlTypeInputs']);
                 $fieldTemplate = str_replace('$INPUT_ARR$', GeneratorFieldsInputUtil::prepareKeyValueArrayStr($inputsArr), $fieldTemplate);
                 break;
             case 'radio':
                 $fieldTemplate = TemplateUtil::getTemplate('scaffold.fields.radio_group', $this->templateType);
                 $radioTemplate = TemplateUtil::getTemplate('scaffold.fields.radio', $this->templateType);
                 $inputsArr = explode(',', $field['htmlTypeInputs']);
                 $radioButtons = [];
                 foreach ($inputsArr as $item) {
                     $radioButtonsTemplate = TemplateUtil::fillFieldTemplate($this->commandData->fieldNamesMapping, $radioTemplate, $field);
                     $radioButtonsTemplate = str_replace('$VALUE$', $item, $radioButtonsTemplate);
                     $radioButtons[] = $radioButtonsTemplate;
                 }
                 $fieldTemplate = str_replace('$RADIO_BUTTONS$', implode("\n", $radioButtons), $fieldTemplate);
                 break;
                 //                case 'checkbox-group':
                 //                    $fieldTemplate = TemplateUtil::getTemplate('scaffold.fields.checkbox_group', $this->templateType);
                 //                      $radioTemplate = TemplateUtil::getTemplate('scaffold.fields.checks', $this->templateType);
                 //                      $inputsArr = explode(',', $field['htmlTypeInputs']);
                 //                      $radioButtons = [];
                 //                      foreach ($inputsArr as $item) {
                 //                          $radioButtonsTemplate = TemplateUtil::fillFieldTemplate(
                 //                              $this->commandData->fieldNamesMapping,
                 //                              $radioTemplate,
                 //                              $field
                 //                          );
                 //                          $radioButtonsTemplate = str_replace('$VALUE$', $item, $radioButtonsTemplate);
                 //                          $radioButtons[] = $radioButtonsTemplate;
                 //                      }
                 //                    $fieldTemplate = str_replace('$CHECKBOXES$', implode("\n", $radioButtons), $fieldTemplate);
                 //                    break;
             //                case 'checkbox-group':
             //                    $fieldTemplate = TemplateUtil::getTemplate('scaffold.fields.checkbox_group', $this->templateType);
             //                      $radioTemplate = TemplateUtil::getTemplate('scaffold.fields.checks', $this->templateType);
             //                      $inputsArr = explode(',', $field['htmlTypeInputs']);
             //                      $radioButtons = [];
             //                      foreach ($inputsArr as $item) {
             //                          $radioButtonsTemplate = TemplateUtil::fillFieldTemplate(
             //                              $this->commandData->fieldNamesMapping,
             //                              $radioTemplate,
             //                              $field
             //                          );
             //                          $radioButtonsTemplate = str_replace('$VALUE$', $item, $radioButtonsTemplate);
             //                          $radioButtons[] = $radioButtonsTemplate;
             //                      }
             //                    $fieldTemplate = str_replace('$CHECKBOXES$', implode("\n", $radioButtons), $fieldTemplate);
             //                    break;
             case 'bool-checkbox':
                 $fieldTemplate = TemplateUtil::getTemplate('scaffold.fields.bool-checkbox', $this->templateType);
                 $checkboxValue = $value = $field['htmlTypeInputs'];
                 if ($field['fieldType'] === 'boolean') {
                     if ($checkboxValue === 'checked') {
                         $checkboxValue = '1, true';
                     } elseif ($checkboxValue === 'unchecked') {
                         $checkboxValue = '0';
                     }
                 }
                 $fieldTemplate = str_replace('$CHECKBOX_VALUE$', $checkboxValue, $fieldTemplate);
                 $fieldTemplate = str_replace('$VALUE$', $value, $fieldTemplate);
                 break;
             case 'toggle-switch':
                 $fieldTemplate = TemplateUtil::getTemplate('scaffold.fields.toggle-switch', $this->templateType);
                 $checkboxValue = $value = $field['htmlTypeInputs'];
                 if ($field['fieldType'] === 'boolean') {
                     $checkboxValue = "[ 'On' => '1' , 'Off' => '0']";
                 }
                 $fieldTemplate = str_replace('$CHECKBOX_VALUE$', $checkboxValue, $fieldTemplate);
                 //$fieldTemplate = str_replace('$VALUE$', $value, $fieldTemplate);
                 break;
             case 'checkbox':
                 $fieldTemplate = TemplateUtil::getTemplate('scaffold.fields.checkbox', $this->templateType);
                 $checkboxValue = $value = $field['htmlTypeInputs'];
                 if ($field['fieldType'] != 'boolean') {
                     $checkboxValue = "'" . $value . "'";
                 }
                 $fieldTemplate = str_replace('$CHECKBOX_VALUE$', $checkboxValue, $fieldTemplate);
                 $fieldTemplate = str_replace('$VALUE$', $value, $fieldTemplate);
                 break;
             case 'boolean':
                 $fieldTemplate = TemplateUtil::getTemplate('scaffold.fields.boolean', $this->templateType);
                 $checkboxValue = $value = $field['htmlTypeInputs'];
                 if ($field['fieldType'] == 'boolean') {
                     $checkboxValue = true;
                 }
                 $fieldTemplate = str_replace('$CHECKBOX_VALUE$', $checkboxValue, $fieldTemplate);
                 // $fieldTemplate = str_replace('$VALUE$', $value, $fieldTemplate);
                 break;
             default:
                 $fieldTemplate = '';
                 break;
         }
         if (!empty($fieldTemplate)) {
             $fieldTemplate = TemplateUtil::fillTemplateWithFieldData($this->commandData->dynamicVars, $this->commandData->fieldNamesMapping, $fieldTemplate, $field);
             $this->htmlFields[] = $fieldTemplate;
         }
     }
     $templateData = TemplateUtil::getTemplate('scaffold.views.fields', $this->templateType);
     $templateData = TemplateUtil::fillTemplate($this->commandData->dynamicVars, $templateData);
     $templateData = str_replace('$FIELDS$', implode("\n\n", $this->htmlFields), $templateData);
     FileUtil::createFile($this->path, 'fields.blade.php', $templateData);
     $this->commandData->commandInfo('field.blade.php created');
 }
All Usage Examples Of InfyOm\Generator\Utils\GeneratorFieldsInputUtil::prepareKeyValueArrayStr