Introducing the Symfony Maker Bundle
If you've been around the Symfony community for some time, odds are you know and have used the SensioGeneratorBundle. It's a popular bundle (+20 million downloads) that provides console commands to generate boilerplate code, like controllers and entities. It also includes a basic CRUD generator.
Given that SensioGeneratorBundle is starting to show its age and considering the massive simplifications introduced by Symfony 4, we decided to stop evolving that bundle and we've created a new bundle called SymfonyMakerBundle.
SymfonyMakerBundle helps you creating empty commands, controllers, form classes, tests and more so you can forget about the required boilerplate code. It's an alternative to SensioGeneratorBundle for modern Symfony applications and requires using Symfony 3.4 or newer and Symfony Flex.
Of course the end goal is to not have boilerplate code at all in Symfony applications. Symfony 4 made a lot of improvements towards that goal, but you will always have to bootstrap some code, so having a modern, simple and lightweight bundle to do that is nice.
Generating Code with Makers¶
The usage of the bundle is similar to SensioGeneratorBundle, but the commands
now use the
make: prefix instead of
generate:. In this first version of
the bundle we've implemented the following makers:
1 2 3 4 5 6 7 8 9 10 11 12
$ php bin/console list make make:command make:controller make:entity make:form make:functional-test make:subscriber make:twig-extension make:unit-test make:validator make:voter
Later we'll add more commands, including some interactive makers to generate a Doctrine entity asking for its properties, to generate a form based on a Doctrine entity, etc.
How Can You Help Us¶
The best way to help us is to test it in your own applications and report any issue or uncovered edge case. You can also review the code to improve it using any of the modern PHP 7.1 features.
If you have ideas for new features or maker commands, please open an issue to discuss about them instead of sending a pull request.
Finally, it'd be great if you could give this project a GitHub Star because that motivates us a lot.
Comments are closed.
To ensure that comments stay relevant, they are closed for old posts.