1. Go to this page and download the library: Download corollarium/formularium 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/ */
corollarium / formularium example snippets
// set your framework composition statically.
// For example, this builds HTML using Bootstrap as CSS and the Vue framework.
$composer = new FrameworkComposer(['HTML', 'Bootstrap', 'Vue']);
// first, you can just generate simple standalone elements, like a button:
echo $composer->element(
'Button',
[
Element::LABEL => 'Submit',
Element::SIZE => Element::SIZE_LARGE,
]
);
// build a model from data description. You can use a JSON file instead, or a GraphQL file.
$modelData = new Model(
'TestModel',
);
$modelData->appendField(new Field(
'myString',
Datatype_string::class,
[
Renderable::LABEL => 'This is some string',
Renderable::COMMENT => 'At least 3 characters but no more than 10',
Renderable_string::NO_AUTOCOMPLETE => true,
Renderable::PLACEHOLDER => "Type here",
Renderable::ICON_PACK => 'fas',
Renderable::ICON => 'fa-check'
],
[
MinLength::class => [
'value' => 3,
],
MaxLength::class => [
'value' => 10,
],
Datatype::REQUIRED => [
'value' => true,
]
],
))->appendField(new Field(
'someInteger',
'integer',
[
Renderable_number::STEP => 2,
Renderable_string::NO_AUTOCOMPLETE => true,
Renderable::LABEL => 'Some integer',
Renderable::COMMENT => 'Between 4 and 30',
Renderable::PLACEHOLDER => "Type here"
],
[
Min::class => [
'value' => 4,
],
Max::class => [
'value' => 30,
],
Datatype::REQUIRED => [
'value' => true,
]
],
))->appendField(new Field(
'myaaaaa',
'aaaaa',
[
Renderable::LABEL => 'This is a custom datatype',
Renderable::COMMENT => 'Fill this with aaaaa to validate properly',
Renderable_string::NO_AUTOCOMPLETE => true,
Renderable::PLACEHOLDER => "Type aaaaa here"
],
[
Datatype::REQUIRED => [
'value' => true,
]
],
));
// validate some data
$data = [
'myString' => 'some string here',
'someInteger' => 32
];
$validation = $model->validate($data);
if (!empty($validation['errors'])) {
foreach ($validation['errors'] as $fieldName => $error) {
echo "$fieldName has an error: $error\n";
}
}
// get data after validation
$validated = $validation['validated'];
// render a form
echo $model->editable($data);
// render a view
echo $model->viewable($data);
// generate a typescript interface, like `type TestModel { ... }`
$codeGenerator = new \Formularium\CodeGenerator\Typescript\CodeGenerator();
echo $codeGenerator->type($model);
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.