This bundle provide an UI to configure other bundles by override a configuration file.
This should be used to allow administrators of your Application to easily change some simple configuration. References this documentation example, they could can change the Twitter Client Id and Twitter Client secret.
The mechanism behind is to retrieve all available configuration for a bundle, display it in a form, and dump the submitted data in a new config file that will override the default configuration.
Open a command console, enter your project directory and execute:
$ composer require barth/simple-config-bundle
This command requires you to have Composer installed globally, as explained in the installation chapter of the Composer documentation.
Then, enable the bundle by adding it to the list of registered bundles
in the config/bundle.php
file of your project:
<?php
// config/bundles.php
return [
// ...
Barth\SimpleConfigBundle\BarthSimpleConfigBundle::class => ['all' => true],
];
In your config/routes.yaml
, add the following route definition :
#config/routes.yaml
barth_simpleconfig:
resource: "@BarthSimpleConfigBundle/Controller/"
type: annotation
prefix: /admin
prefix
where only ROLE_ADMIN can access.
You should add the config/packages/override
path to your gitignore.
If you deploy your app with awesome tools like Capistrano or Deployer, don't forget to make this path as shared to avoid lose custom override between each deployment.
By default, all bundles that come with symfony/website-skeleton are blacklisted. You cannot override them so easily.
You can extend this list by adding the bundle alias in your configuration :
#config/packages/barth_simple_config
barth_simple_config:
blacklisted_bundles:
- nelmio_api_doc # for example
When installation is completed, you have two new routes :
- http://yourdomain.org/admin/config That exposes all available configuration routes
- http://yourdomain.org/admin/config/{package} That display your form configuration
By default, pages don't look very pretty. To integrate it in your template, don't hesitate to override the base.html.twig
template by creating a new one in templates/bundles/BarthSimpleConfigBundle/
and make it extend your base template.
SimpleConfigBundle can easily be integrated in EasyAdminBundle. Just require it.
First of all, thank you for contributing ❤️
If you find any typo/misconfiguration/... please send me a PR or open an issue.
Also, while creating your PR, please write a description which gives the context and/or explains why you are creating it.
- Make installation as simple as a
composer require barth/simple-config-bundle
, so submit it to packagist - Process configuration when form is submitted to validate it immediatly.
- Write Tests Suite
- Add translations
- Integration with EasyAdminBundle
- Integration with Sonata