lzakrzewski / symfony-form-generator-bundle
Installs: 16
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 0
Forks: 0
Open Issues: 0
Type:symfony-bundle
Requires
- php: >=5.5
- lzakrzewski/symfony-form-generator: 0.0.*
- symfony/framework-bundle: ~2.6
Requires (Dev)
- phpunit/phpunit: ~4.5
- satooshi/php-coveralls: ^0.6.1
This package is not auto-updated.
Last update: 2024-11-15 19:06:36 UTC
README
This bundle integrates library SymfonyFormGenerator with symfony framework.
Example
Object of given class:
use Lzakrzewski\SymfonyFormGenerator\Annotation\Form; use Symfony\Component\Validator\Constraints as Assert; class ObjectWithMixedMetadata { /** * @var bool */ public $propertyBoolean; /** * @Assert\Count(max="5") */ public $propertyArray; /** * @Form\Field("integer", options={"label"="Property Integer"}) */ public $propertyInteger; public $propertyDateTime; public $propertyUndefined; public function __construct($propertyBoolean, $propertyArray, $propertyInteger, \DateTime $propertyDateTime, $propertyUndefined) { $this->propertyBoolean = $propertyBoolean; $this->propertyArray = $propertyArray; $this->propertyInteger = $propertyInteger; $this->propertyDateTime = $propertyDateTime; $this->propertyUndefined = $propertyUndefined; } }
after:
$form = $this->get('form_generator') ->generateFormBuilder(ObjectWithMixedMetadata::class) ->getForm();
will have form
equivalent:
use Lzakrzewski\SymfonyFormGenerator\Form\Type\GeneratorFormType; use Lzakrzewski\SymfonyFormGenerator\ObjectWithMixedMetadata; use Symfony\Component\Form\Forms; Forms::createFormFactory()->createBuilder() ->create('form', new GeneratorFormType(ObjectWithMixedMetadata::class)) ->add('propertyBoolean', 'checkbox') ->add('propertyArray', 'generator_array') ->add('propertyInteger', 'integer') ->add('propertyDateTime', 'generator_datetime') ->add('propertyUndefined', 'generator_string');
generator_array
type extends collection
,
generator_datetime
type extends datetime
,
generator_string
type extends text
.
generator_*
types are custom form types for better support raw values.
Documentation
Topics: