PHP code example of myparcelcom / json-schema-form-builder
1. Go to this page and download the library: Download myparcelcom/json-schema-form-builder library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
myparcelcom / json-schema-form-builder example snippets
use MyParcelCom\JsonSchema\FormBuilder\Form\Text;
use MyParcelCom\JsonSchema\FormBuilder\Form\Checkbox;
use MyParcelCom\JsonSchema\FormBuilder\Form\Select;
use MyParcelCom\JsonSchema\FormBuilder\Form\Option;
use MyParcelCom\JsonSchema\FormBuilder\Form\OptionCollection;
use MyParcelCom\JsonSchema\FormBuilder\Form\Form;
$textField = new Text(
name: 'example_text',
label: 'Example Text Field',
isRequired: true,
help: 'Please enter some text.',
);
$checkboxField = new Checkbox(
name: 'example_checkbox',
label: 'Example Checkbox Field',
help: 'Check this box if applicable.'
);
$selectField = new Select(
name: 'example_select',
label: 'Example Select Field',
options: new OptionCollection(
new Option('option_1_key', 'Option 1 Label'),
new Option('option_2_key', 'Option 2 Label')
),
isRequired: true,
help: 'Please select an option.',
);
$form = new Form($textField, $checkboxField, $selectField);
$form->toJsonSchema();
use MyParcelCom\JsonSchema\FormBuilder\Form\Text;
use MyParcelCom\JsonSchema\FormBuilder\Form\Checkbox;
use MyParcelCom\JsonSchema\FormBuilder\Form\Select;
use MyParcelCom\JsonSchema\FormBuilder\Form\Option;
use MyParcelCom\JsonSchema\FormBuilder\Form\OptionCollection;
use MyParcelCom\JsonSchema\FormBuilder\Form\Form;
$textField = new Text(
name: 'example_text',
label: 'Example Text Field',
value: 'previously-set-value'
);
$checkboxField = new Checkbox(
name: 'example_checkbox',
label: 'Example Checkbox Field',
);
$selectField = new Select(
name: 'example_select',
label: 'Example Select Field',
options: new OptionCollection(
new Option('option_1_key', 'Option 1 Label'),
new Option('option_2_key', 'Option 2 Label')
),
value: 'option_2_key'
);
$form = new Form($textField, $checkboxField, $selectField);
$form->getValues();
use MyParcelCom\JsonSchema\FormBuilder\Form\Form;
use MyParcelCom\JsonSchema\FormBuilder\Form\Group;
use MyParcelCom\JsonSchema\FormBuilder\Form\FormElementCollection;
use MyParcelCom\JsonSchema\FormBuilder\Form\Text;
use MyParcelCom\JsonSchema\FormBuilder\Form\Checkbox;
use MyParcelCom\JsonSchema\FormBuilder\Form\Number;
use MyParcelCom\JsonSchema\FormBuilder\Translations\LabelTranslationCollection;
$group = new Group(
name: 'my_group',
label: 'My Group',
children: new FormElementCollection(
new Text(name: 'my_text', label: 'My Text Field', isRequired: true),
new Checkbox(name: 'my_checkbox', label: 'My Checkbox Field'),
new Number(name: 'my_number', label: 'My Number Field')
),
help: 'This following fields are related to...',
);
$someOtherTextField = new Text(
name: 'some_other_text',
label: 'Some Other Text Field',
help: 'Please enter some other text.',
);
$form = new Form($group, $someOtherTextField);
use MyParcelCom\JsonSchema\FormBuilder\Form\Text;
use MyParcelCom\JsonSchema\FormBuilder\Form\Group;
use MyParcelCom\JsonSchema\FormBuilder\Form\Form;
$group = new Group(
name: 'group',
label: 'Group',
children: new FormElementCollection(
new Text(name: 'group_child', label: 'Group Child', value: 'some_value')
),
);
$someOtherField = new Text(
name: 'some_other_field',
label: 'Some Other Field',
value: 'some_other_value'
);
$form = new Form($group, $someOtherField);
$form->getValues();
use MyParcelCom\JsonSchema\FormBuilder\Form\Text;
use MyParcelCom\JsonSchema\FormBuilder\Form\Checkbox;
use MyParcelCom\JsonSchema\FormBuilder\Translations\LabelTranslationCollection;
use MyParcelCom\JsonSchema\FormBuilder\Translations\LabelTranslation;
use MyParcelCom\JsonSchema\FormBuilder\Translations\Locale
$textField = new Text(
name: 'example_text',
label: 'Example Text Field',
help: 'Please enter some text.',
labelTranslations: new LabelTranslationCollection(
new LabelTranslation(Locale::DE_DE, 'Beispiel Textfeld'),
new LabelTranslation(Locale::EL_GR, 'Παράδειγμα πεδίου κειμένου'),
new LabelTranslation(Locale::EN_GB, 'Example Text Field'),
new LabelTranslation(Locale::ES_ES, 'Campo de texto de ejemplo'),
new LabelTranslation(Locale::FR_FR, 'Champ de texte exemple')
new LabelTranslation(Locale::IT_IT, 'Campo di testo di esempio'),
new LabelTranslation(Locale::NL_NL, 'Voorbeeld tekstveld'),
new LabelTranslation(Locale::PL_PL, 'Przykładowe pole tekstowe'),
new LabelTranslation(Locale::PT_PT, 'Campo de texto de exemplo'),
)
);
use MyParcelCom\JsonSchema\FormBuilder\Form\RadioButtons;
use MyParcelCom\JsonSchema\FormBuilder\Form\OptionCollection;
use MyParcelCom\JsonSchema\FormBuilder\Form\Option;
use MyParcelCom\JsonSchema\FormBuilder\Translations\LabelTranslationCollection;
use MyParcelCom\JsonSchema\FormBuilder\Translations\LabelTranslation;
$radioField = new RadioButtons(
name: 'example_radio',
label: 'Example Radio Field',
labelTranslations: new LabelTranslationCollection(
new LabelTranslation(
locale: Locale::DE_DE,
label: 'Beispiel Radiofeld'
),
new LabelTranslation(
locale: Locale::EL_GR,
label: 'Παράδειγμα πεδίου ραδιοφώνου'
),
new LabelTranslation(
locale: Locale::EN_GB,
label: 'Example Radio Field'
),
// ...
)
options: new OptionCollection(
new Option(
key: 'option_1_key',
label: 'Option 1 Label',
labelTranslations: new LabelTranslationCollection(
new LabelTranslation(
locale: Locale::DE_DE,
label: 'Option 1 Beschriftung'
),
new LabelTranslation(
locale: Locale::EL_GR,
label: 'Επιλογή 1 Ετικέτα'
)
new LabelTranslation(
locale: Locale::EN_GB,
label: 'Option 1 Label'
),
// ...
)
),
new Option(
key: 'option_2_key',
label: 'Option 2 Label',
labelTranslations: new LabelTranslationCollection(
new LabelTranslation(
locale: Locale::DE_DE,
label: 'Option 2 Beschriftung'
),
new LabelTranslation(
locale: Locale::EL_GR,
label: 'Επιλογή 2 Ετικέτα'
)
new LabelTranslation(
locale: Locale::EN_GB,
label: 'Option 2 Label'
),
// ...
)
)
),
help: 'Please select an option.',
use MyParcelCom\JsonSchema\FormBuilder\Form\MultiSelect;
$multiSelectField = new MultiSelect(
name: 'example_multi_select',
label: 'Example Multi-Select Field',
options: new OptionCollection(
new Option('option_1_key', 'Option 1 Label'),
new Option('option_2_key', 'Option 2 Label')
),
help: 'Please select one or more options.',
);
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.