Obserwuję "Jak wystawiać semantycznego konfiguracja dla Bundle" oficjalnej instrukcji dla Symfony 2.jak uzyskać dostęp do konfiguracji semantycznej w kontrolerze z symfony2?
Mam configuration.php
namespace w9\UserBundle\DependencyInjection;
use Symfony\Component\Config\Definition\Builder\TreeBuilder;
use Symfony\Component\Config\Definition\ConfigurationInterface;
class Configuration implements ConfigurationInterface
{
/**
* {@inheritDoc}
*/
public function getConfigTreeBuilder()
{
$treeBuilder = new TreeBuilder();
$rootNode = $treeBuilder->root('w9_user');
$rootNode
->children()
->scalarNode('logintext')->defaultValue('Zareejstruj się')->end()
->end()
;
return $treeBuilder;
}
}
I w9UserExtension.php:
namespace w9\UserBundle\DependencyInjection;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\Config\FileLocator;
use Symfony\Component\HttpKernel\DependencyInjection\Extension;
use Symfony\Component\DependencyInjection\Loader;
class w9UserExtension extends Extension
{
/**
* {@inheritDoc}
*/
public function load(array $configs, ContainerBuilder $container)
{
$configuration = new Configuration();
$config = $this->processConfiguration($configuration, $configs);
$loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
$loader->load('services.yml');
}
}
Może to zabrzmieć głupio, ale nie jestem w stanie znaleźć sposobu, w jaki sposób uzyskać dostęp do parametru logintext w kontrolerze?
$logintext = $this->container->getParameter("w9_user.logintext");
nie działa.
Co robię źle?
Wow. Dziękuję Ci. – dunqan
Co zrobić, jeśli mam kilka parametrów konfiguracyjnych, w jaki sposób ustawić je wszystkie naraz? – acme
@acme Chciałem to również zrobić. Zobacz moją odpowiedź poniżej. – LaGoutte