andrey613 Posted February 9, 2016 Share Posted February 9, 2016 I'm new to .ini and php. I'm using PFBC to generate form fields. This is the code sample to generate one form field: $form->addElement(new Element\T_COMPANY("", "company", array( "required" => 1, "placeholder" => "*Bedrijf:", ))); I need to read an .ini file and based on what is in that .ini to generate one or more lines of code to make the form field. The .ini file will contain some thing like : fields[company] = T_COMPANY,"","company",1,"*Company" where T_COMPANY is the identifier to generate this block of code $form->addElement(new Element\T_COMPANY( next "" is the identifier for "" in the php code next "company" is the identifier for "company" in the php code next 1 identifier for "required" => 1, in the php and the last one "*Bedrijf" identifier for "placeholder" => "*Bedrijf:", Any idea on how to do this ? So I need to construct this in php $form->addElement(new Element\T_COMPANY("", "company", array( "required" => 1, "placeholder" => "*Bedrijf:", ))); from the array generated using .ini file. Quote Link to comment https://forums.phpfreaks.com/topic/300764-need-help-to-use-ini-file-settings-to-create-php-code/ Share on other sites More sharing options...
andrey613 Posted February 9, 2016 Author Share Posted February 9, 2016 I tried to use the array generated from the .ini settings and use "foreach" to generate the syntax needed to generate the form element 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); But this is not working ...... Need help pls Quote Link to comment https://forums.phpfreaks.com/topic/300764-need-help-to-use-ini-file-settings-to-create-php-code/#findComment-1530903 Share on other sites More sharing options...
ginerjm Posted February 9, 2016 Share Posted February 9, 2016 I just love when people say "it's not working" because it tells us exactly what to look for when trying to hope you. Can you possibly tell us what is happening? Are you just getting a blank screen? Are you getting error messages? Are you getting any meaningful output or results? Have you tried adding some debugging code to echo out values along each step of the process so you can track how far your code gets before things go south? PS - Please use the suggested forum tags when posting code. Wrap your code in the "code" tags which are the words 'php' and '/php' wrapped in square brackets. Like this: $var = 1; Quote Link to comment https://forums.phpfreaks.com/topic/300764-need-help-to-use-ini-file-settings-to-create-php-code/#findComment-1530911 Share on other sites More sharing options...
andrey613 Posted February 9, 2016 Author Share Posted February 9, 2016 (edited) I managed to generate the code blocks that I need for the form and this is what I have done: 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'], ) )); } } Is there a way to improve this? One more issue is when I need to generate radio buttons, I use this: $form->addElement(new Element\Radio("Radio Buttons:", "RadioButtons", $options)); $options = array("Element 1", "Element 2", "Element 67"); What do I need to add in my block of code to make an if statement that will generate the radio buttons ? Edited February 9, 2016 by andrey613 Quote Link to comment https://forums.phpfreaks.com/topic/300764-need-help-to-use-ini-file-settings-to-create-php-code/#findComment-1530914 Share on other sites More sharing options...
ginerjm Posted February 9, 2016 Share Posted February 9, 2016 You are using something interface (framework?) that I am unfamiliar with. Perhaps post on a forum that can help you with that specific technology? If your code is correctly using it to generate other types of fields, then maybe you need to read the manual to see how other fields need to be done. Quote Link to comment https://forums.phpfreaks.com/topic/300764-need-help-to-use-ini-file-settings-to-create-php-code/#findComment-1530915 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.