1. Go to this page and download the library: Download c975l/config-bundle 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/ */
c975l / config-bundle example snippets
class AppKernel extends Kernel
{
public function registerBundles()
{
$bundles = [
// ...
new c975L\ConfigBundle\c975LConfigBundle(),
];
}
}
//Your Controller file
namespace App\Bundle\Controller;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Security\Core\Exception\AccessDeniedException;
use c975L\ConfigBundle\Service\ConfigServiceInterface;
class YourController extends AbstractController
{
/**
* @Route("/your_name/config",
* name="your_name_config",
* methods={"HEAD", "GET", "POST"})
*/
public function config(Request $request, ConfigServiceInterface $configService)
{
//Add the case to your Voter
$this->denyAccessUnlessGranted('config', 'yourDataIfNeeded');
$form = $configService->createForm('vendor/bundle-name');//As defined in your composer.json
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
//Validates config
$configService->setConfig($form);
//Redirects
return $this->redirectToRoute('the_route_you_want_to_redirect_to');
}
//Renders the config form
return $this->render('@c975LConfig/forms/config.html.twig', array(
'form' => $form->createView(),
'toolbar' => '@c975LEmail', //set false (or remove) if you don't use c975L/ToolbarBundle
));
}
namespace Your\NameSpace;
use c975L\ConfigBundle\Service\ConfigServiceInterface;
class YourClass
{
protected function yourMethod(ConfigServiceInterface $configService)
{
$parameter = $configService->getParameter('yourRoot.yourParameter');
/**
* You can also get parameter using the bundle name as defined in your composer.json.
* This case is used when the files "config_bundles.yaml" and "configBundles.php" are not yet created.
* For example, the first time you use the config Route and your Voter needs to check with a parameter defined using ConfigBundle.
* Using this optional variable will make ConfigBundle creating the requested config files, based on default values in "bundle.yaml".
*/
$parameter = $configService->getParameter('yourRoot.yourParameter', 'vendor/bundle-name');
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.