Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

is there a facility for generating scaffolding in a Symfony2 app?

I've been doing searches on scaffolding in Symfony 2 and keep finding references to "generators" but so far have not been able to get scaffolding up and working.

By "scaffolding" I'm referring to a way to point your tool at a database and have it generate views/forms to perform CRUD operations.

This can be useful for quickly prototyping something, and/or build a rough admin tool for some of your database tables.

It can also provide a starting point for some form you are building.

Is this possible in Symfony2?

like image 430
Josh Avatar asked May 22 '13 15:05

Josh


2 Answers

Crud operations are provided by the SensioGeneratorBundle which is included in the symfony standard distribution.

You can use the following command to generate form, templates & controller for existing entitites. It is interactive and can also update your routing automatically.

app/console generate:doctrine:crud

entity classes themselfes can be created with another command - interactive aswell.

 app/console generate:doctrine:entity

Generating entities from database is done with:

app/console doctrine:mapping:convert xml ./src/Acme/BlogBundle/Resources/config/doctrine/metadata/orm --from-database --force

which will create xml mapping files. Afterwards you can generate entities as follows:

app/console doctrine:mapping:import AcmeBlogBundle annotation
app/console doctrine:generate:entities AcmeBlogBundle

This would generate the entities with annotations. yml and xml are supported aswell!

like image 118
Nicolai Fröhlich Avatar answered Nov 12 '22 05:11

Nicolai Fröhlich


You can generate entities from an existing database like this

Then you can generate CRUD forms for those entities like this

There is no native way to create scaffolding directly from the DB. You have to go through this two step process.

like image 21
james_t Avatar answered Nov 12 '22 07:11

james_t